From 53831d0f32273294925c82b6977d250409a9acc1 Mon Sep 17 00:00:00 2001 From: Eric Blankenhorn Date: Fri, 10 Jan 2025 10:06:14 -0600 Subject: [PATCH] Add test --- tests/api.c | 6 ++++++ wolfcrypt/src/asn.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/api.c b/tests/api.c index 0ad5c086cc..55dd895c1b 100644 --- a/tests/api.c +++ b/tests/api.c @@ -26492,6 +26492,7 @@ static int test_wc_ecc_rs_to_sig(void) byte s[KEY24]; word32 rlen = (word32)sizeof(r); word32 slen = (word32)sizeof(s); + word32 zeroLen = 0; /* Init stack variables. */ XMEMSET(sig, 0, ECC_MAX_SIG_SIZE); @@ -26517,6 +26518,11 @@ static int test_wc_ecc_rs_to_sig(void) WC_NO_ERR_TRACE(ECC_BAD_ARG_E)); ExpectIntEQ(wc_ecc_sig_to_rs(sig, siglen, r, &rlen, s, NULL), WC_NO_ERR_TRACE(ECC_BAD_ARG_E)); + ExpectIntEQ(wc_ecc_sig_to_rs(sig, siglen, r, &zeroLen, s, &slen), + WC_NO_ERR_TRACE(ASN_PARSE_E)); + ExpectIntEQ(wc_ecc_sig_to_rs(sig, siglen, r, &rlen, s, &zeroLen), + WC_NO_ERR_TRACE(ASN_PARSE_E)); + #endif return EXPECT_RESULT(); } /* END test_wc_ecc_rs_to_sig */ diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index eb57bdc693..2f8b6b9116 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -33784,7 +33784,7 @@ int DecodeECC_DSA_Sig_Bin(const byte* sig, word32 sigLen, byte* r, word32* rLen, *rLen = (word32)len; else { /* Buffer too small to hold r value */ - return BUFFER_E; + return ASN_PARSE_E; } } if (r) @@ -33799,7 +33799,7 @@ int DecodeECC_DSA_Sig_Bin(const byte* sig, word32 sigLen, byte* r, word32* rLen, *sLen = (word32)len; else { /* Buffer too small to hold r value */ - return BUFFER_E; + return ASN_PARSE_E; } } if (s)