From bfc46a49130758e53c83d054258df6ff2ce8a655 Mon Sep 17 00:00:00 2001 From: KAI <35927054+ThreeAndTwo@users.noreply.github.com> Date: Wed, 7 Jun 2023 21:10:42 +0800 Subject: [PATCH] accounts/keystore: handle error for invalid key in DecryptKey (#27432) Co-authored-by: KAI Co-authored-by: Felix Lange --- accounts/keystore/passphrase.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/accounts/keystore/passphrase.go b/accounts/keystore/passphrase.go index 1701fbf53634e..8d6ed2b14ef2b 100644 --- a/accounts/keystore/passphrase.go +++ b/accounts/keystore/passphrase.go @@ -225,10 +225,13 @@ func DecryptKey(keyjson []byte, auth string) (*Key, error) { if err != nil { return nil, err } - key := crypto.ToECDSAUnsafe(keyBytes) + key, err := crypto.ToECDSA(keyBytes) + if err != nil { + return nil, fmt.Errorf("invalid key: %w", err) + } id, err := uuid.FromBytes(keyId) if err != nil { - return nil, err + return nil, fmt.Errorf("invalid UUID: %w", err) } return &Key{ Id: id,