crypto/core_namemap.c:24: error: BUFFER_OVERRUN_L3
  Offset: [-1, +oo] Size: [1, +oo] by call to `OPENSSL_LH_delete`.
Showing all 10 steps of the trace


crypto/core_namemap.c:24:1: Parameter `lh->pmax`
22.   } NAMENUM_ENTRY;
23.   
24. > DEFINE_LHASH_OF(NAMENUM_ENTRY);
25.   
26.   /*-

crypto/core_namemap.c:24:1: Call
22.   } NAMENUM_ENTRY;
23.   
24. > DEFINE_LHASH_OF(NAMENUM_ENTRY);
25.   
26.   /*-

crypto/lhash/lhash.c:137:1: Parameter `lh->pmax`
  135.   }
  136.   
  137. > void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
  138.   {
  139.       unsigned long hash;

crypto/lhash/lhash.c:160:9: Call
  158.       if ((lh->num_nodes > MIN_NODES) &&
  159.           (lh->down_load >= (lh->num_items * LH_LOAD_MULT / lh->num_nodes)))
  160.           contract(lh);
                 ^
  161.   
  162.       return ret;

crypto/lhash/lhash.c:269:1: <Offset trace>
267.   }
268.   
269. > static void contract(OPENSSL_LHASH *lh)
270.   {
271.       OPENSSL_LH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:269:1: Parameter `lh->p`
    267.   }
    268.   
    269. > static void contract(OPENSSL_LHASH *lh)
    270.   {
    271.       OPENSSL_LH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:289:9: Assignment
    287.           lh->b = n;
    288.       } else
    289.           lh->p--;
                   ^
    290.   
    291.       lh->num_nodes--;

crypto/lhash/lhash.c:269:1: <Length trace>
267.   }
268.   
269. > static void contract(OPENSSL_LHASH *lh)
270.   {
271.       OPENSSL_LH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:269:1: Parameter `*lh->b`
    267.   }
    268.   
    269. > static void contract(OPENSSL_LHASH *lh)
    270.   {
    271.       OPENSSL_LH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:294:10: Array access: Offset: [-1, +oo] Size: [1, +oo] by call to `OPENSSL_LH_delete` 
    292.       lh->num_contracts++;
    293.   
    294.       n1 = lh->b[(int)lh->p];
                    ^
    295.       if (n1 == NULL)
    296.           lh->b[(int)lh->p] = np;
