From: Pauli Date: Sun, 11 Jul 2021 10:53:43 +0000 (+1000) Subject: asn.1: fix Coverity 1487104 Logically dead code X-Git-Tag: openssl-3.0.0-beta2~75 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a773e67b89208309032d14bd61cf2c2ed4708420;p=thirdparty%2Fopenssl.git asn.1: fix Coverity 1487104 Logically dead code Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/16042) --- diff --git a/crypto/asn1/tasn_enc.c b/crypto/asn1/tasn_enc.c index 06473d3411a..3ea18b0280d 100644 --- a/crypto/asn1/tasn_enc.c +++ b/crypto/asn1/tasn_enc.c @@ -348,11 +348,12 @@ static int asn1_template_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, /* EXPLICIT tagging */ /* Find length of tagged item */ i = ASN1_item_ex_i2d(pval, NULL, ASN1_ITEM_ptr(tt->item), -1, iclass); - if (!i) + if (i == 0) { + if ((tt->flags & ASN1_TFLG_OPTIONAL) == 0) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_ILLEGAL_ZERO_CONTENT); + return -1; + } return 0; - if (i == 0 && (tt->flags & ASN1_TFLG_OPTIONAL) == 0) { - ERR_raise(ERR_LIB_ASN1, ASN1_R_ILLEGAL_ZERO_CONTENT); - return -1; } /* Find length of EXPLICIT tag */ ret = ASN1_object_size(ndef, i, ttag);