From a773e67b89208309032d14bd61cf2c2ed4708420 Mon Sep 17 00:00:00 2001 From: Pauli Date: Sun, 11 Jul 2021 20:53:43 +1000 Subject: asn.1: fix Coverity 1487104 Logically dead code Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/16042) --- crypto/asn1/tasn_enc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'crypto/asn1') diff --git a/crypto/asn1/tasn_enc.c b/crypto/asn1/tasn_enc.c index 06473d3411..3ea18b0280 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); -- cgit v1.2.3