diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 0b41d5d58..5eeae21d4 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -8100,6 +8100,10 @@ int wc_EccPrivateKeyDecode(const byte* input, word32* inOutIdx, ecc_key* key, else if (GetLength(input, inOutIdx, &length, inSz) < 0) { ret = ASN_PARSE_E; } + else if (length <= 0) { + /* pubkey needs some size */ + ret = ASN_INPUT_E; + } else { b = input[*inOutIdx]; *inOutIdx += 1;