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 | } |
