libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 3306451000364b14a1066a1269f4d213c3083ae9
parent 76db47cfb47594ad846cc94cfcea91a4c87cfeaf
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 24 Aug 2008 22:11:38 +0000

leaks

Diffstat:
Msrc/daemon/https/minitasn1/decoding.c | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/daemon/https/minitasn1/decoding.c b/src/daemon/https/minitasn1/decoding.c @@ -629,7 +629,10 @@ _asn1_get_octet_string (const unsigned char *der, node_asn * node, int *len) temp2 = temp + len2; len2 = asn1_get_length_der (der, *len, &len3); if (len2 < -1) - return ASN1_DER_ERROR; + { + _asn1_afree (temp); + return ASN1_DER_ERROR; + } counter2 = len3 + 1; if (indefinite == -1) @@ -642,7 +645,10 @@ _asn1_get_octet_string (const unsigned char *der, node_asn * node, int *len) len2 = asn1_get_length_der (der + counter2, *len - counter, &len3); if (len2 < -1) - return ASN1_DER_ERROR; + { + _asn1_afree (temp); + return ASN1_DER_ERROR; + } /* FIXME: to be checked. Is this ok? Has the * size been checked before?