Return an error if the serial number is badly formed. (Coverity ID 116).
diff --git a/apps/ca.c b/apps/ca.c index 7666e35..291f164 100644 --- a/apps/ca.c +++ b/apps/ca.c
@@ -2406,6 +2406,8 @@ row[i]=NULL; row[DB_name]=X509_NAME_oneline(X509_get_subject_name(x509),NULL,0); bn = ASN1_INTEGER_to_BN(X509_get_serialNumber(x509),NULL); + if (!bn) + goto err; if (BN_is_zero(bn)) row[DB_serial]=BUF_strdup("00"); else