ssl/t1_lib.c:1278: 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:1109:1: Parameter `*s->session->tlsext_ellipticcurvelist`
1107.   }
1108.   
1109. > unsigned char *ssl_add_clienthello_tlsext(SSL *s, unsigned char *buf,
1110.                                             unsigned char *limit, int *al)
1111.   {

ssl/t1_lib.c:1278:17: Call
1276.           /* Copy curve ID if supported */
1277.           for (i = 0; i < num_curves; i++, pcurves += 2) {
1278.               if (tls_curve_allowed(s, pcurves, SSL_SECOP_CURVE_SUPPORTED)) {
                        ^
1279.                   *etmp++ = pcurves[0];
1280.                   *etmp++ = pcurves[1];

ssl/t1_lib.c:442:1: <Offset trace>
440.   
441.   /* See if curve is allowed by security callback */
442. > static int tls_curve_allowed(SSL *s, const unsigned char *curve, int op)
443.   {
444.       const tls_curve_info *cinfo;

ssl/t1_lib.c:442:1: Parameter `*curve`
  440.   
  441.   /* See if curve is allowed by security callback */
  442. > static int tls_curve_allowed(SSL *s, const unsigned char *curve, int op)
  443.   {
  444.       const tls_curve_info *cinfo;

ssl/t1_lib.c:236:1: <Length trace>
234.   # define TLS_CURVE_PRIME         0x0
235.   
236. > static const tls_curve_info nid_list[] = {
237.       {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */
238.       {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */

ssl/t1_lib.c:236:1: Array declaration
  234.   # define TLS_CURVE_PRIME         0x0
  235.   
  236. > static const tls_curve_info nid_list[] = {
  237.       {NID_sect163k1, 80, TLS_CURVE_CHAR2}, /* sect163k1 (1) */
  238.       {NID_sect163r1, 80, TLS_CURVE_CHAR2}, /* sect163r1 (2) */

ssl/t1_lib.c:450:5: Array access: Offset: [-1, +oo] Size: 28 by call to `tls_curve_allowed` 
  448.                              sizeof(nid_list) / sizeof(nid_list[0])))
  449.           return 0;
  450.       cinfo = &nid_list[curve[1] - 1];
             ^
  451.   # ifdef OPENSSL_NO_EC2M
  452.       if (cinfo->flags & TLS_CURVE_CHAR2)
