ssl/ssl_locl.h:681: error: BUFFER_OVERRUN_L3
  Offset: [-1, +oo] Size: [1, +oo] by call to `lh_delete`.
Showing all 10 steps of the trace


ssl/ssl_locl.h:681:1: Parameter `lh->pmax`
679.   };
680.   
681. > DEFINE_LHASH_OF(SSL_SESSION);
682.   /* Needed in ssl_cert.c */
683.   DEFINE_LHASH_OF(X509_NAME);

ssl/ssl_locl.h:681:1: Call
679.   };
680.   
681. > DEFINE_LHASH_OF(SSL_SESSION);
682.   /* Needed in ssl_cert.c */
683.   DEFINE_LHASH_OF(X509_NAME);

crypto/lhash/lhash.c:188:1: Parameter `lh->pmax`
  186.   }
  187.   
  188. > void *lh_delete(_LHASH *lh, const void *data)
  189.   {
  190.       unsigned long hash;

crypto/lhash/lhash.c:211:9: Call
  209.       if ((lh->num_nodes > MIN_NODES) &&
  210.           (lh->down_load >= (lh->num_items * LH_LOAD_MULT / lh->num_nodes)))
  211.           contract(lh);
                 ^
  212.   
  213.       return (ret);

crypto/lhash/lhash.c:322:1: <Offset trace>
320.   }
321.   
322. > static void contract(_LHASH *lh)
323.   {
324.       LHASH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:322:1: Parameter `lh->p`
    320.   }
    321.   
    322. > static void contract(_LHASH *lh)
    323.   {
    324.       LHASH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:342:9: Assignment
    340.           lh->b = n;
    341.       } else
    342.           lh->p--;
                   ^
    343.   
    344.       lh->num_nodes--;

crypto/lhash/lhash.c:322:1: <Length trace>
320.   }
321.   
322. > static void contract(_LHASH *lh)
323.   {
324.       LHASH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:322:1: Parameter `*lh->b`
    320.   }
    321.   
    322. > static void contract(_LHASH *lh)
    323.   {
    324.       LHASH_NODE **n, *n1, *np;

crypto/lhash/lhash.c:347:10: Array access: Offset: [-1, +oo] Size: [1, +oo] by call to `lh_delete` 
    345.       lh->num_contracts++;
    346.   
    347.       n1 = lh->b[(int)lh->p];
                    ^
    348.       if (n1 == NULL)
    349.           lh->b[(int)lh->p] = np;
