diff --git a/src/util-decode-der.c b/src/util-decode-der.c index a076263657..363e6bc4db 100644 --- a/src/util-decode-der.c +++ b/src/util-decode-der.c @@ -612,6 +612,7 @@ static Asn1Generic * DecodeAsn1DerSequence(const unsigned char *buffer, uint32_t numbytes = c & 0x7f; d_ptr++; if (DecodeAsn1BuildValue(&d_ptr, &d_length, numbytes) == -1) { + free(node); return NULL; } } @@ -667,6 +668,7 @@ static Asn1Generic * DecodeAsn1DerSet(const unsigned char *buffer, uint32_t max_ numbytes = c & 0x7f; d_ptr++; if (DecodeAsn1BuildValue(&d_ptr, &d_length, numbytes) == -1) { + free(node); return NULL; } }