Core: fixed possible use of an uninitialized variable.

The call to ngx_sock_ntop() in ngx_connection_local_sockaddr() might be
performed with the uninitialized "len" variable.  The fix is to initialize
variable to the size of corresponding socket address type.

The issue was introduced in commit 05ba5bce31e0.
This commit is contained in:
Vladimir Homutov 2013-07-11 19:50:19 +04:00
parent 8c0be99886
commit 59c9fb4821

View file

@ -1034,6 +1034,7 @@ ngx_connection_local_sockaddr(ngx_connection_t *c, ngx_str_t *s,
#if (NGX_HAVE_INET6)
case AF_INET6:
sin6 = (struct sockaddr_in6 *) c->local_sockaddr;
len = sizeof(struct sockaddr_in6);
for (addr = 0, i = 0; addr == 0 && i < 16; i++) {
addr |= sin6->sin6_addr.s6_addr[i];
@ -1044,6 +1045,7 @@ ngx_connection_local_sockaddr(ngx_connection_t *c, ngx_str_t *s,
default: /* AF_INET */
sin = (struct sockaddr_in *) c->local_sockaddr;
len = sizeof(struct sockaddr_in);
addr = sin->sin_addr.s_addr;
break;
}