summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/f_string.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/f_string.c')
-rw-r--r--src/lib/libcrypto/asn1/f_string.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/lib/libcrypto/asn1/f_string.c b/src/lib/libcrypto/asn1/f_string.c
index 14cd1a906a..138044e063 100644
--- a/src/lib/libcrypto/asn1/f_string.c
+++ b/src/lib/libcrypto/asn1/f_string.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: f_string.c,v 1.16 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: f_string.c,v 1.17 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 *
@@ -146,16 +146,14 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
146 k = 0; 146 k = 0;
147 i -= again; 147 i -= again;
148 if (i % 2 != 0) { 148 if (i % 2 != 0) {
149 ASN1err(ASN1_F_A2I_ASN1_STRING, 149 ASN1error(ASN1_R_ODD_NUMBER_OF_CHARS);
150 ASN1_R_ODD_NUMBER_OF_CHARS);
151 goto err; 150 goto err;
152 } 151 }
153 i /= 2; 152 i /= 2;
154 if (num + i > slen) { 153 if (num + i > slen) {
155 sp = realloc(s, num + i); 154 sp = realloc(s, num + i);
156 if (sp == NULL) { 155 if (sp == NULL) {
157 ASN1err(ASN1_F_A2I_ASN1_STRING, 156 ASN1error(ERR_R_MALLOC_FAILURE);
158 ERR_R_MALLOC_FAILURE);
159 goto err; 157 goto err;
160 } 158 }
161 s = sp; 159 s = sp;
@@ -171,8 +169,7 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
171 else if ((m >= 'A') && (m <= 'F')) 169 else if ((m >= 'A') && (m <= 'F'))
172 m = m - 'A' + 10; 170 m = m - 'A' + 10;
173 else { 171 else {
174 ASN1err(ASN1_F_A2I_ASN1_STRING, 172 ASN1error(ASN1_R_NON_HEX_CHARACTERS);
175 ASN1_R_NON_HEX_CHARACTERS);
176 goto err; 173 goto err;
177 } 174 }
178 s[num + j] <<= 4; 175 s[num + j] <<= 4;
@@ -190,7 +187,7 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
190 return (1); 187 return (1);
191 188
192err_sl: 189err_sl:
193 ASN1err(ASN1_F_A2I_ASN1_STRING, ASN1_R_SHORT_LINE); 190 ASN1error(ASN1_R_SHORT_LINE);
194err: 191err:
195 free(s); 192 free(s);
196 return (ret); 193 return (ret);