summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/f_int.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/f_int.c')
-rw-r--r--src/lib/libcrypto/asn1/f_int.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/lib/libcrypto/asn1/f_int.c b/src/lib/libcrypto/asn1/f_int.c
index 0ec29f5769..75168872b3 100644
--- a/src/lib/libcrypto/asn1/f_int.c
+++ b/src/lib/libcrypto/asn1/f_int.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: f_int.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: f_int.c,v 1.18 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -153,16 +153,14 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
153 k = 0; 153 k = 0;
154 i -= again; 154 i -= again;
155 if (i % 2 != 0) { 155 if (i % 2 != 0) {
156 ASN1err(ASN1_F_A2I_ASN1_INTEGER, 156 ASN1error(ASN1_R_ODD_NUMBER_OF_CHARS);
157 ASN1_R_ODD_NUMBER_OF_CHARS);
158 goto err; 157 goto err;
159 } 158 }
160 i /= 2; 159 i /= 2;
161 if (num + i > slen) { 160 if (num + i > slen) {
162 sp = OPENSSL_realloc_clean(s, slen, num + i); 161 sp = OPENSSL_realloc_clean(s, slen, num + i);
163 if (sp == NULL) { 162 if (sp == NULL) {
164 ASN1err(ASN1_F_A2I_ASN1_INTEGER, 163 ASN1error(ERR_R_MALLOC_FAILURE);
165 ERR_R_MALLOC_FAILURE);
166 goto err; 164 goto err;
167 } 165 }
168 s = sp; 166 s = sp;
@@ -178,8 +176,7 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
178 else if ((m >= 'A') && (m <= 'F')) 176 else if ((m >= 'A') && (m <= 'F'))
179 m = m - 'A' + 10; 177 m = m - 'A' + 10;
180 else { 178 else {
181 ASN1err(ASN1_F_A2I_ASN1_INTEGER, 179 ASN1error(ASN1_R_NON_HEX_CHARACTERS);
182 ASN1_R_NON_HEX_CHARACTERS);
183 goto err; 180 goto err;
184 } 181 }
185 s[num + j] <<= 4; 182 s[num + j] <<= 4;
@@ -197,7 +194,7 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
197 return (1); 194 return (1);
198 195
199err_sl: 196err_sl:
200 ASN1err(ASN1_F_A2I_ASN1_INTEGER, ASN1_R_SHORT_LINE); 197 ASN1error(ASN1_R_SHORT_LINE);
201err: 198err:
202 free(s); 199 free(s);
203 return (ret); 200 return (ret);