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