diff options
author | Christian Grothoff <christian@grothoff.org> | 2008-08-24 22:11:38 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2008-08-24 22:11:38 +0000 |
commit | 3306451000364b14a1066a1269f4d213c3083ae9 (patch) | |
tree | 621cc294e969329b29c4134396b8bbdc8d6e6ff7 | |
parent | 76db47cfb47594ad846cc94cfcea91a4c87cfeaf (diff) | |
download | libmicrohttpd-3306451000364b14a1066a1269f4d213c3083ae9.tar.gz libmicrohttpd-3306451000364b14a1066a1269f4d213c3083ae9.zip |
leaks
-rw-r--r-- | src/daemon/https/minitasn1/decoding.c | 10 |
1 files 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) | |||
629 | temp2 = temp + len2; | 629 | temp2 = temp + len2; |
630 | len2 = asn1_get_length_der (der, *len, &len3); | 630 | len2 = asn1_get_length_der (der, *len, &len3); |
631 | if (len2 < -1) | 631 | if (len2 < -1) |
632 | return ASN1_DER_ERROR; | 632 | { |
633 | _asn1_afree (temp); | ||
634 | return ASN1_DER_ERROR; | ||
635 | } | ||
633 | counter2 = len3 + 1; | 636 | counter2 = len3 + 1; |
634 | 637 | ||
635 | if (indefinite == -1) | 638 | if (indefinite == -1) |
@@ -642,7 +645,10 @@ _asn1_get_octet_string (const unsigned char *der, node_asn * node, int *len) | |||
642 | len2 = | 645 | len2 = |
643 | asn1_get_length_der (der + counter2, *len - counter, &len3); | 646 | asn1_get_length_der (der + counter2, *len - counter, &len3); |
644 | if (len2 < -1) | 647 | if (len2 < -1) |
645 | return ASN1_DER_ERROR; | 648 | { |
649 | _asn1_afree (temp); | ||
650 | return ASN1_DER_ERROR; | ||
651 | } | ||
646 | 652 | ||
647 | /* FIXME: to be checked. Is this ok? Has the | 653 | /* FIXME: to be checked. Is this ok? Has the |
648 | * size been checked before? | 654 | * size been checked before? |