@@ -109,7 +109,7 @@ ngx_proxy_protocol_read(ngx_connection_t *c, u_char *buf, u_char *last)
109
109
len = last - buf ;
110
110
111
111
if (len >= sizeof (ngx_proxy_protocol_header_t )
112
- && memcmp (p , signature , sizeof (signature ) - 1 ) == 0 )
112
+ && ngx_memcmp (p , signature , sizeof (signature ) - 1 ) == 0 )
113
113
{
114
114
return ngx_proxy_protocol_v2_read (c , buf , last );
115
115
}
@@ -281,7 +281,9 @@ ngx_proxy_protocol_write(ngx_connection_t *c, u_char *buf, u_char *last)
281
281
{
282
282
ngx_uint_t port , lport ;
283
283
284
- if (last - buf < NGX_PROXY_PROTOCOL_MAX_HEADER ) {
284
+ if (last - buf < NGX_PROXY_PROTOCOL_V1_MAX_HEADER ) {
285
+ ngx_log_error (NGX_LOG_ALERT , c -> log , 0 ,
286
+ "too small buffer for PROXY protocol" );
285
287
return NULL ;
286
288
}
287
289
@@ -394,11 +396,11 @@ ngx_proxy_protocol_v2_read(ngx_connection_t *c, u_char *buf, u_char *last)
394
396
395
397
src_sockaddr .sockaddr_in .sin_family = AF_INET ;
396
398
src_sockaddr .sockaddr_in .sin_port = 0 ;
397
- memcpy (& src_sockaddr .sockaddr_in .sin_addr , in -> src_addr , 4 );
399
+ ngx_memcpy (& src_sockaddr .sockaddr_in .sin_addr , in -> src_addr , 4 );
398
400
399
401
dst_sockaddr .sockaddr_in .sin_family = AF_INET ;
400
402
dst_sockaddr .sockaddr_in .sin_port = 0 ;
401
- memcpy (& dst_sockaddr .sockaddr_in .sin_addr , in -> dst_addr , 4 );
403
+ ngx_memcpy (& dst_sockaddr .sockaddr_in .sin_addr , in -> dst_addr , 4 );
402
404
403
405
pp -> src_port = ngx_proxy_protocol_parse_uint16 (in -> src_port );
404
406
pp -> dst_port = ngx_proxy_protocol_parse_uint16 (in -> dst_port );
@@ -421,11 +423,11 @@ ngx_proxy_protocol_v2_read(ngx_connection_t *c, u_char *buf, u_char *last)
421
423
422
424
src_sockaddr .sockaddr_in6 .sin6_family = AF_INET6 ;
423
425
src_sockaddr .sockaddr_in6 .sin6_port = 0 ;
424
- memcpy (& src_sockaddr .sockaddr_in6 .sin6_addr , in6 -> src_addr , 16 );
426
+ ngx_memcpy (& src_sockaddr .sockaddr_in6 .sin6_addr , in6 -> src_addr , 16 );
425
427
426
428
dst_sockaddr .sockaddr_in6 .sin6_family = AF_INET6 ;
427
429
dst_sockaddr .sockaddr_in6 .sin6_port = 0 ;
428
- memcpy (& dst_sockaddr .sockaddr_in6 .sin6_addr , in6 -> dst_addr , 16 );
430
+ ngx_memcpy (& dst_sockaddr .sockaddr_in6 .sin6_addr , in6 -> dst_addr , 16 );
429
431
430
432
pp -> src_port = ngx_proxy_protocol_parse_uint16 (in6 -> src_port );
431
433
pp -> dst_port = ngx_proxy_protocol_parse_uint16 (in6 -> dst_port );
0 commit comments