mirror of
https://github.com/openssl/openssl.git
synced 2025-01-30 14:01:55 +08:00
fuzz/asn1.c: Add missing check for BIO_new
Since the BIO_new may fail, the 'bio' could be NULL pointer and be used. Therefore, it should be better to check it and skip the print if fails. Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/17690)
This commit is contained in:
parent
78c5f1266f
commit
d43597c718
25
fuzz/asn1.c
25
fuzz/asn1.c
@ -218,8 +218,10 @@ static ASN1_PCTX *pctx;
|
||||
int len2; \
|
||||
BIO *bio = BIO_new(BIO_s_null()); \
|
||||
\
|
||||
PRINT(bio, type); \
|
||||
BIO_free(bio); \
|
||||
if (bio != NULL) { \
|
||||
PRINT(bio, type); \
|
||||
BIO_free(bio); \
|
||||
} \
|
||||
len2 = I2D(type, &der); \
|
||||
if (len2 != 0) {} \
|
||||
OPENSSL_free(der); \
|
||||
@ -235,8 +237,10 @@ static ASN1_PCTX *pctx;
|
||||
if (type != NULL) { \
|
||||
BIO *bio = BIO_new(BIO_s_null()); \
|
||||
\
|
||||
PRINT(bio, type, 0); \
|
||||
BIO_free(bio); \
|
||||
if (bio != NULL) { \
|
||||
PRINT(bio, type, 0); \
|
||||
BIO_free(bio); \
|
||||
} \
|
||||
I2D(type, &der); \
|
||||
OPENSSL_free(der); \
|
||||
TYPE ## _free(type); \
|
||||
@ -251,8 +255,10 @@ static ASN1_PCTX *pctx;
|
||||
if (type != NULL) { \
|
||||
BIO *bio = BIO_new(BIO_s_null()); \
|
||||
\
|
||||
PRINT(bio, type, 0, pctx); \
|
||||
BIO_free(bio); \
|
||||
if (bio != NULL) { \
|
||||
PRINT(bio, type, 0, pctx); \
|
||||
BIO_free(bio); \
|
||||
} \
|
||||
I2D(type, &der); \
|
||||
OPENSSL_free(der); \
|
||||
TYPE ## _free(type); \
|
||||
@ -307,9 +313,10 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len)
|
||||
|
||||
if (o != NULL) {
|
||||
BIO *bio = BIO_new(BIO_s_null());
|
||||
|
||||
ASN1_item_print(bio, o, 4, i, pctx);
|
||||
BIO_free(bio);
|
||||
if (bio != NULL) {
|
||||
ASN1_item_print(bio, o, 4, i, pctx);
|
||||
BIO_free(bio);
|
||||
}
|
||||
ASN1_item_i2d(o, &der, i);
|
||||
OPENSSL_free(der);
|
||||
ASN1_item_free(o, i);
|
||||
|
Loading…
Reference in New Issue
Block a user