summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_int.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/a_int.c')
-rw-r--r--src/lib/libcrypto/asn1/a_int.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/lib/libcrypto/asn1/a_int.c b/src/lib/libcrypto/asn1/a_int.c
index 0559cce384..881f08a766 100644
--- a/src/lib/libcrypto/asn1/a_int.c
+++ b/src/lib/libcrypto/asn1/a_int.c
@@ -256,8 +256,7 @@ c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, long len)
256 memcpy(s, p, (int)len); 256 memcpy(s, p, (int)len);
257 } 257 }
258 258
259 if (ret->data != NULL) 259 free(ret->data);
260 free(ret->data);
261 ret->data = s; 260 ret->data = s;
262 ret->length = (int)len; 261 ret->length = (int)len;
263 if (a != NULL) 262 if (a != NULL)
@@ -324,8 +323,7 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length)
324 p += len; 323 p += len;
325 } 324 }
326 325
327 if (ret->data != NULL) 326 free(ret->data);
328 free(ret->data);
329 ret->data = s; 327 ret->data = s;
330 ret->length = (int)len; 328 ret->length = (int)len;
331 if (a != NULL) 329 if (a != NULL)
@@ -350,8 +348,7 @@ ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
350 348
351 a->type = V_ASN1_INTEGER; 349 a->type = V_ASN1_INTEGER;
352 if (a->length < (int)(sizeof(long) + 1)) { 350 if (a->length < (int)(sizeof(long) + 1)) {
353 if (a->data != NULL) 351 free(a->data);
354 free(a->data);
355 a->data = calloc(1, sizeof(long) + 1); 352 a->data = calloc(1, sizeof(long) + 1);
356 } 353 }
357 if (a->data == NULL) { 354 if (a->data == NULL) {