From 3306451000364b14a1066a1269f4d213c3083ae9 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 24 Aug 2008 22:11:38 +0000 Subject: [PATCH] leaks --- src/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 index 5c763d85..7174ce1f 100644 --- 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?