Protects against exceptions when creating keys with invalid bytearrays.

This commit is contained in:
Vitor Pamplona
2023-05-12 14:13:08 -04:00
parent fc2408b526
commit db9a0ebfa1
@@ -877,23 +877,28 @@ class Account(
null null
} }
if (altPrivateKeyToUse != null && altPubkeyToUse != null) { try {
val altPubKeyFromPrivate = Utils.pubkeyCreate(altPrivateKeyToUse).toHexKey() if (altPrivateKeyToUse != null && altPubkeyToUse != null) {
val altPubKeyFromPrivate = Utils.pubkeyCreate(altPrivateKeyToUse).toHexKey()
if (altPubKeyFromPrivate == event.pubKey) { if (altPubKeyFromPrivate == event.pubKey) {
val result = event.getPrivateZapEvent(altPrivateKeyToUse, altPubkeyToUse) val result = event.getPrivateZapEvent(altPrivateKeyToUse, altPubkeyToUse)
if (result == null) { if (result == null) {
Log.w( Log.w(
"Private ZAP Decrypt", "Private ZAP Decrypt",
"Fail to decrypt Zap from ${note.author?.toBestDisplayName()} ${note.idNote()}" "Fail to decrypt Zap from ${note.author?.toBestDisplayName()} ${note.idNote()}"
) )
}
result
} else {
null
} }
result
} else { } else {
null null
} }
} else { } catch (e: Exception) {
Log.e("Account", "Failed to create pubkey for ZapRequest ${event.id}", e)
null null
} }
} }