diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/f_enum.c')
-rw-r--r-- | src/lib/libcrypto/asn1/f_enum.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lib/libcrypto/asn1/f_enum.c b/src/lib/libcrypto/asn1/f_enum.c index 98fa312266..5c42cdff01 100644 --- a/src/lib/libcrypto/asn1/f_enum.c +++ b/src/lib/libcrypto/asn1/f_enum.c | |||
@@ -158,8 +158,6 @@ a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size) | |||
158 | if (sp == NULL) { | 158 | if (sp == NULL) { |
159 | ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, | 159 | ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, |
160 | ERR_R_MALLOC_FAILURE); | 160 | ERR_R_MALLOC_FAILURE); |
161 | if (s != NULL) | ||
162 | free(s); | ||
163 | goto err; | 161 | goto err; |
164 | } | 162 | } |
165 | s = sp; | 163 | s = sp; |
@@ -191,12 +189,11 @@ a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size) | |||
191 | } | 189 | } |
192 | bs->length = num; | 190 | bs->length = num; |
193 | bs->data = s; | 191 | bs->data = s; |
194 | ret = 1; | 192 | return (1); |
195 | 193 | ||
196 | err: | ||
197 | if (0) { | ||
198 | err_sl: | 194 | err_sl: |
199 | ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, ASN1_R_SHORT_LINE); | 195 | ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, ASN1_R_SHORT_LINE); |
200 | } | 196 | err: |
197 | free(s); | ||
201 | return (ret); | 198 | return (ret); |
202 | } | 199 | } |