Skip to content

Commit d2b182f

Browse files
committed
nginx-ssl-ja3: fix curves bad heap allocation
- fix warning of unused function when compiling --with-debug
1 parent 73a36ea commit d2b182f

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/ngx_ssl_ja3.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,12 @@ static const int nid_list[] = {
9292
};
9393

9494

95-
static int
95+
static unsigned char
9696
ngx_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)
122123
static void
123124
ngx_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

178180
void
@@ -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

Comments
 (0)