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


ssl/t1_lib.c:181:1: Array declaration
179.   
180.   /* The default curves */
181. > static const unsigned char eccurves_default[] = {
182.       0, 29,                      /* X25519 (29) */
183.       0, 23,                      /* secp256r1 (23) */

ssl/t1_lib.c:419:22: Call
417.           for (j = 0; j < num_supp; j++, tsupp += 2) {
418.               if (pref[0] == tsupp[0] && pref[1] == tsupp[1]) {
419.                   if (!tls_curve_allowed(s, pref, SSL_SECOP_CURVE_SHARED))
                            ^
420.                       continue;
421.                   if (nmatch == k) {

ssl/t1_lib.c:310:1: <Offset trace>
308.   
309.   /* See if curve is allowed by security callback */
310. > int tls_curve_allowed(SSL *s, const unsigned char *curve, int op)
311.   {
312.       const tls_curve_info *cinfo;

ssl/t1_lib.c:310:1: Parameter `*curve`
  308.   
  309.   /* See if curve is allowed by security callback */
  310. > int tls_curve_allowed(SSL *s, const unsigned char *curve, int op)
  311.   {
  312.       const tls_curve_info *cinfo;

ssl/t1_lib.c:142:1: <Length trace>
140.    * table: the index of each entry is one less than the TLS curve id.
141.    */
142. > static const tls_curve_info nid_list[] = {
143.       {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */
144.       {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */

ssl/t1_lib.c:142:1: Array declaration
  140.    * table: the index of each entry is one less than the TLS curve id.
  141.    */
  142. > static const tls_curve_info nid_list[] = {
  143.       {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */
  144.       {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */

ssl/t1_lib.c:317:5: Array access: Offset: [-1, +oo] Size: 29 by call to `tls_curve_allowed` 
  315.       if ((curve[1] < 1) || ((size_t)curve[1] > OSSL_NELEM(nid_list)))
  316.           return 0;
  317.       cinfo = &nid_list[curve[1] - 1];
             ^
  318.   # ifdef OPENSSL_NO_EC2M
  319.       if (cinfo->flags & TLS_CURVE_CHAR2)
