apps/ca.c:1269: error: BUFFER_OVERRUN_L3
  Offset: [0, 5] Size: [1, +oo] by call to `do_revoke`.
Showing all 11 steps of the trace


apps/ca.c:696:10: Call
694.           goto end;
695.       }
696.       db = load_index(dbfile, &db_attr);
                ^
697.       if (db == NULL)
698.           goto end;

apps/apps.c:1575:18: Call
  1573.           goto err;
  1574.       }
  1575.       if ((tmpdb = TXT_DB_read(in, DB_NUMBER)) == NULL)
                           ^
  1576.           goto err;
  1577.   

crypto/txt_db/txt_db.c:89:5: Assignment
    87.           goto err;
    88.       ret->num_fields = num;
    89.       ret->index = NULL;
              ^
    90.       ret->qual = NULL;
    91.       if ((ret->data = sk_OPENSSL_PSTRING_new_null()) == NULL)

apps/ca.c:1269:17: Call
1267.               if (dorevoke == 2)
1268.                   rev_type = -1;
1269.               j = do_revoke(revcert, db, rev_type, rev_arg);
                        ^
1270.               if (j <= 0)
1271.                   goto end;

apps/ca.c:2099:1: Parameter `*db->db->index`
  2097.   }
  2098.   
  2099. > static int do_revoke(X509 *x509, CA_DB *db, int type, char *value)
  2100.   {
  2101.       ASN1_UTCTIME *tm = NULL;

apps/ca.c:2148:14: Call
  2146.           irow[DB_NUMBER] = NULL;
  2147.   
  2148.           if (!TXT_DB_insert(db->db, irow)) {
                       ^
  2149.               BIO_printf(bio_err, "failed to update database\n");
  2150.               BIO_printf(bio_err, "TXT_DB error number %ld\n", db->db->error);

crypto/txt_db/txt_db.c:278:1: <Offset trace>
276.   }
277.   
278. > int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row)
279.   {
280.       int i;

crypto/txt_db/txt_db.c:278:1: Parameter `db->num_fields`
    276.   }
    277.   
    278. > int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row)
    279.   {
    280.       int i;

crypto/txt_db/txt_db.c:278:1: <Length trace>
276.   }
277.   
278. > int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row)
279.   {
280.       int i;

crypto/txt_db/txt_db.c:278:1: Parameter `*db->index`
    276.   }
    277.   
    278. > int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row)
    279.   {
    280.       int i;

crypto/txt_db/txt_db.c:284:13: Array access: Offset: [0, 5] Size: [1, +oo] by call to `do_revoke` 
    282.   
    283.       for (i = 0; i < db->num_fields; i++) {
    284.           if (db->index[i] != NULL) {
                       ^
    285.               if ((db->qual[i] != NULL) && (db->qual[i] (row) == 0))
    286.                   continue;
