@@ -92,12 +92,12 @@ static const int nid_list[] = {
9292};
9393
9494
95- static int
95+ static unsigned char
9696ngx_ssl_ja3_nid_to_cid (int nid )
9797{
98- size_t sz = (sizeof (nid_list ) / sizeof (nid_list [0 ]));
98+ unsigned char sz = (sizeof (nid_list ) / sizeof (nid_list [0 ]));
9999
100- for (size_t i = 0 ; i < sz ; i ++ ) {
100+ for (unsigned char i = 0 ; i < sz ; i ++ ) {
101101 if (nid == nid_list [i ]) {
102102 return i + 1 ;
103103 }
@@ -119,6 +119,7 @@ ngx_ssj_ja3_num_digits(int n)
119119}
120120
121121
122+ #if (NGX_DEBUG )
122123static void
123124ngx_ssl_ja3_detail_print (ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 )
124125{
@@ -173,6 +174,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
173174 );
174175 }
175176}
177+ #endif
176178
177179
178180void
@@ -357,7 +359,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
357359 /* Elliptic curve points */
358360 ja3 -> curves_sz = SSL_get1_curves (ssl , NULL );
359361 if (ja3 -> curves_sz ) {
360- curves_out = OPENSSL_malloc (ja3 -> curves_sz );
362+ curves_out = OPENSSL_malloc (ja3 -> curves_sz * sizeof ( int ) );
361363 if (curves_out == NULL ) {
362364 return NGX_DECLINED ;
363365 }
@@ -369,7 +371,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
369371 if (ja3 -> curves == NULL ) {
370372 return NGX_DECLINED ;
371373 }
372- for (size_t i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
374+ for (size_t i = 0 ; i < ja3 -> curves_sz ; i ++ ) {
373375 ja3 -> curves [i ] = ngx_ssl_ja3_nid_to_cid (curves_out [i ]);
374376 }
375377
0 commit comments