PR: 2254 Submitted by: Ger Hobbelt <ger@hobbelt.com> Approved by: steve@openssl.org Check for <= 0 i2d return value.
diff --git a/engines/ccgost/gost94_keyx.c b/engines/ccgost/gost94_keyx.c index a183edb..624be58 100644 --- a/engines/ccgost/gost94_keyx.c +++ b/engines/ccgost/gost94_keyx.c
@@ -177,7 +177,7 @@ ASN1_OBJECT_free(gkt->key_agreement_info->cipher); gkt->key_agreement_info->cipher = OBJ_nid2obj(param->nid); *outlen = i2d_GOST_KEY_TRANSPORT(gkt,out?&out:NULL); - if (*outlen == 0) + if (*outlen <= 0) { GOSTerr(GOST_F_PKEY_GOST94CP_ENCRYPT,GOST_R_ERROR_PACKING_KEY_TRANSPORT_INFO); goto err;