summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsg <>2015-02-12 06:04:24 +0000
committerjsg <>2015-02-12 06:04:24 +0000
commit557a46ad4a6c1681d535c9869fd4bd95df7e07e7 (patch)
tree04429d37c529f4396efce10413190cf2eb072f9f
parentaec39f743e0555328b51acbc6a5832a65827c0c6 (diff)
downloadopenbsd-557a46ad4a6c1681d535c9869fd4bd95df7e07e7.tar.gz
openbsd-557a46ad4a6c1681d535c9869fd4bd95df7e07e7.tar.bz2
openbsd-557a46ad4a6c1681d535c9869fd4bd95df7e07e7.zip
prevent a crash with openssl asn1parse -genstr FORMAT
aka ASN1_generate_nconf("FORMAT", NULL) ok krw@ beck@ jsing@
-rw-r--r--src/lib/libcrypto/asn1/asn1_gen.c6
-rw-r--r--src/lib/libssl/src/crypto/asn1/asn1_gen.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/libcrypto/asn1/asn1_gen.c b/src/lib/libcrypto/asn1/asn1_gen.c
index 97be43a03a..384088308f 100644
--- a/src/lib/libcrypto/asn1/asn1_gen.c
+++ b/src/lib/libcrypto/asn1/asn1_gen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_gen.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn1_gen.c,v 1.13 2015/02/12 06:04:24 jsg Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2002. 3 * project 2002.
4 */ 4 */
@@ -348,6 +348,10 @@ asn1_cb(const char *elem, int len, void *bitstr)
348 break; 348 break;
349 349
350 case ASN1_GEN_FLAG_FORMAT: 350 case ASN1_GEN_FLAG_FORMAT:
351 if (vstart == NULL) {
352 ASN1err(ASN1_F_ASN1_CB, ASN1_R_ILLEGAL_FORMAT);
353 return -1;
354 }
351 if (!strncmp(vstart, "ASCII", 5)) 355 if (!strncmp(vstart, "ASCII", 5))
352 arg->format = ASN1_GEN_FORMAT_ASCII; 356 arg->format = ASN1_GEN_FORMAT_ASCII;
353 else if (!strncmp(vstart, "UTF8", 4)) 357 else if (!strncmp(vstart, "UTF8", 4))
diff --git a/src/lib/libssl/src/crypto/asn1/asn1_gen.c b/src/lib/libssl/src/crypto/asn1/asn1_gen.c
index 97be43a03a..384088308f 100644
--- a/src/lib/libssl/src/crypto/asn1/asn1_gen.c
+++ b/src/lib/libssl/src/crypto/asn1/asn1_gen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_gen.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn1_gen.c,v 1.13 2015/02/12 06:04:24 jsg Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2002. 3 * project 2002.
4 */ 4 */
@@ -348,6 +348,10 @@ asn1_cb(const char *elem, int len, void *bitstr)
348 break; 348 break;
349 349
350 case ASN1_GEN_FLAG_FORMAT: 350 case ASN1_GEN_FLAG_FORMAT:
351 if (vstart == NULL) {
352 ASN1err(ASN1_F_ASN1_CB, ASN1_R_ILLEGAL_FORMAT);
353 return -1;
354 }
351 if (!strncmp(vstart, "ASCII", 5)) 355 if (!strncmp(vstart, "ASCII", 5))
352 arg->format = ASN1_GEN_FORMAT_ASCII; 356 arg->format = ASN1_GEN_FORMAT_ASCII;
353 else if (!strncmp(vstart, "UTF8", 4)) 357 else if (!strncmp(vstart, "UTF8", 4))