diff options
| author | miod <> | 2014-10-28 05:46:56 +0000 |
|---|---|---|
| committer | miod <> | 2014-10-28 05:46:56 +0000 |
| commit | 794dcf073b734d649d7b5d30916d7a3ae919b66e (patch) | |
| tree | e5031b50fe250a2c5c8752bd1c08d24591108740 /src/lib/libcrypto/asn1/a_strnid.c | |
| parent | 0f87e7002d4db878c14eb1e49fda230504da9b99 (diff) | |
| download | openbsd-794dcf073b734d649d7b5d30916d7a3ae919b66e.tar.gz openbsd-794dcf073b734d649d7b5d30916d7a3ae919b66e.tar.bz2 openbsd-794dcf073b734d649d7b5d30916d7a3ae919b66e.zip | |
Check the result of sk_*_push() operations for failure.
ok doug@ jsing@
Diffstat (limited to 'src/lib/libcrypto/asn1/a_strnid.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/a_strnid.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/a_strnid.c b/src/lib/libcrypto/asn1/a_strnid.c index be28885363..4da45c537e 100644 --- a/src/lib/libcrypto/asn1/a_strnid.c +++ b/src/lib/libcrypto/asn1/a_strnid.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: a_strnid.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: a_strnid.c,v 1.18 2014/10/28 05:46:55 miod 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 1999. | 3 | * project 1999. |
| 4 | */ | 4 | */ |
| @@ -261,8 +261,14 @@ ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, unsigned long mask, | |||
| 261 | if (maxsize != -1) | 261 | if (maxsize != -1) |
| 262 | tmp->maxsize = maxsize; | 262 | tmp->maxsize = maxsize; |
| 263 | tmp->mask = mask; | 263 | tmp->mask = mask; |
| 264 | if (new_nid) | 264 | if (new_nid) { |
| 265 | sk_ASN1_STRING_TABLE_push(stable, tmp); | 265 | if (sk_ASN1_STRING_TABLE_push(stable, tmp) == 0) { |
| 266 | free(tmp); | ||
| 267 | ASN1err(ASN1_F_ASN1_STRING_TABLE_ADD, | ||
| 268 | ERR_R_MALLOC_FAILURE); | ||
| 269 | return 0; | ||
| 270 | } | ||
| 271 | } | ||
| 266 | return 1; | 272 | return 1; |
| 267 | } | 273 | } |
| 268 | 274 | ||
