ssl/t1_lib.c:575: error: BUFFER_OVERRUN_L3
  Offset: [-1, +oo] Size: 28 by call to `tls_curve_allowed`.
Showing all 7 steps of the trace


ssl/t1_lib.c:266:1: Array declaration
264.   
265.   /* The client's default curves / the server's 'auto' curves. */
266. > static const unsigned char eccurves_auto[] = {
267.       /* Prefer P-256 which has the fastest and most secure implementations. */
268.       0, 23,                      /* secp256r1 (23) */

ssl/t1_lib.c:575:22: Call
573.           for (j = 0; j < num_supp; j++, tsupp += 2) {
574.               if (pref[0] == tsupp[0] && pref[1] == tsupp[1]) {
575.                   if (!tls_curve_allowed(s, pref, SSL_SECOP_CURVE_SHARED))
                            ^
576.                       continue;
577.                   if (nmatch == k) {

ssl/t1_lib.c:466:1: <Offset trace>
464.   
465.   /* See if curve is allowed by security callback */
466. > static int tls_curve_allowed(SSL *s, const unsigned char *curve, int op)
467.   {
468.       const tls_curve_info *cinfo;

ssl/t1_lib.c:466:1: Parameter `*curve`
  464.   
  465.   /* See if curve is allowed by security callback */
  466. > static int tls_curve_allowed(SSL *s, const unsigned char *curve, int op)
  467.   {
  468.       const tls_curve_info *cinfo;

ssl/t1_lib.c:228:1: <Length trace>
226.   # define TLS_CURVE_PRIME         0x0
227.   
228. > static const tls_curve_info nid_list[] = {
229.       {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */
230.       {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */

ssl/t1_lib.c:228:1: Array declaration
  226.   # define TLS_CURVE_PRIME         0x0
  227.   
  228. > static const tls_curve_info nid_list[] = {
  229.       {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */
  230.       {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */

ssl/t1_lib.c:473:5: Array access: Offset: [-1, +oo] Size: 28 by call to `tls_curve_allowed` 
  471.       if ((curve[1] < 1) || ((size_t)curve[1] > OSSL_NELEM(nid_list)))
  472.           return 0;
  473.       cinfo = &nid_list[curve[1] - 1];
             ^
  474.   # ifdef OPENSSL_NO_EC2M
  475.       if (cinfo->flags & TLS_CURVE_CHAR2)
