openssl ca: make index.txt parsing error more verbose

If index.txt exists but has some problems (like for example a single \n character in it) openssl will just exit without any error message.

Bug at least expirienced twice: https://superuser.com/questions/1327848/openssl-ca-fails-after-password-without-error-message

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15360)
This commit is contained in:
Florian Mickler 2020-01-13 01:44:24 +01:00 committed by Tomas Mraz
parent 669967fdd8
commit ca29cc1453
1 changed files with 6 additions and 2 deletions

View File

@ -556,8 +556,10 @@ end_of_options:
goto end;
db = load_index(dbfile, &db_attr);
if (db == NULL)
if (db == NULL) {
BIO_printf(bio_err, "Problem with index file: %s (could not load/parse file)\n", dbfile);
goto end;
}
if (index_index(db) <= 0)
goto end;
@ -684,8 +686,10 @@ end_of_options:
goto end;
db = load_index(dbfile, &db_attr);
if (db == NULL)
if (db == NULL) {
BIO_printf(bio_err, "Problem with index file: %s (could not load/parse file)\n", dbfile);
goto end;
}
/* Lets check some fields */
for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) {