Skip to content

Commit d990b93

Browse files
committed
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fix potential memory leaks in sockets extension
2 parents a0d8ced + 7f090ac commit d990b93

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

ext/sockets/sockets.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,11 +1299,11 @@ PHP_FUNCTION(socket_getsockname)
12991299
case AF_INET6:
13001300
sin6 = (struct sockaddr_in6 *) sa;
13011301
inet_ntop(AF_INET6, &sin6->sin6_addr, addr6, INET6_ADDRSTRLEN);
1302-
zval_dtor(addr);
1302+
zval_ptr_dtor(addr);
13031303
ZVAL_STRING(addr, addr6);
13041304

13051305
if (port != NULL) {
1306-
zval_dtor(port);
1306+
zval_ptr_dtor(port);
13071307
ZVAL_LONG(port, htons(sin6->sin6_port));
13081308
}
13091309
RETURN_TRUE;
@@ -1316,11 +1316,11 @@ PHP_FUNCTION(socket_getsockname)
13161316
addr_string = inet_ntoa(sin->sin_addr);
13171317
inet_ntoa_lock = 0;
13181318

1319-
zval_dtor(addr);
1319+
zval_ptr_dtor(addr);
13201320
ZVAL_STRING(addr, addr_string);
13211321

13221322
if (port != NULL) {
1323-
zval_dtor(port);
1323+
zval_ptr_dtor(port);
13241324
ZVAL_LONG(port, htons(sin->sin_port));
13251325
}
13261326
RETURN_TRUE;
@@ -1329,7 +1329,7 @@ PHP_FUNCTION(socket_getsockname)
13291329
case AF_UNIX:
13301330
s_un = (struct sockaddr_un *) sa;
13311331

1332-
zval_dtor(addr);
1332+
zval_ptr_dtor(addr);
13331333
ZVAL_STRING(addr, s_un->sun_path);
13341334
RETURN_TRUE;
13351335
break;
@@ -1378,11 +1378,11 @@ PHP_FUNCTION(socket_getpeername)
13781378
case AF_INET6:
13791379
sin6 = (struct sockaddr_in6 *) sa;
13801380
inet_ntop(AF_INET6, &sin6->sin6_addr, addr6, INET6_ADDRSTRLEN);
1381-
zval_dtor(arg2);
1381+
zval_ptr_dtor(arg2);
13821382
ZVAL_STRING(arg2, addr6);
13831383

13841384
if (arg3 != NULL) {
1385-
zval_dtor(arg3);
1385+
zval_ptr_dtor(arg3);
13861386
ZVAL_LONG(arg3, htons(sin6->sin6_port));
13871387
}
13881388

@@ -1396,11 +1396,11 @@ PHP_FUNCTION(socket_getpeername)
13961396
addr_string = inet_ntoa(sin->sin_addr);
13971397
inet_ntoa_lock = 0;
13981398

1399-
zval_dtor(arg2);
1399+
zval_ptr_dtor(arg2);
14001400
ZVAL_STRING(arg2, addr_string);
14011401

14021402
if (arg3 != NULL) {
1403-
zval_dtor(arg3);
1403+
zval_ptr_dtor(arg3);
14041404
ZVAL_LONG(arg3, htons(sin->sin_port));
14051405
}
14061406

@@ -1410,7 +1410,7 @@ PHP_FUNCTION(socket_getpeername)
14101410
case AF_UNIX:
14111411
s_un = (struct sockaddr_un *) sa;
14121412

1413-
zval_dtor(arg2);
1413+
zval_ptr_dtor(arg2);
14141414
ZVAL_STRING(arg2, s_un->sun_path);
14151415
RETURN_TRUE;
14161416
break;
@@ -1683,14 +1683,14 @@ PHP_FUNCTION(socket_recv)
16831683
if ((retval = recv(php_sock->bsd_socket, ZSTR_VAL(recv_buf), len, flags)) < 1) {
16841684
zend_string_free(recv_buf);
16851685

1686-
zval_dtor(buf);
1686+
zval_ptr_dtor(buf);
16871687
ZVAL_NULL(buf);
16881688
} else {
16891689
ZSTR_LEN(recv_buf) = retval;
16901690
ZSTR_VAL(recv_buf)[ZSTR_LEN(recv_buf)] = '\0';
16911691

16921692
/* Rebuild buffer zval */
1693-
zval_dtor(buf);
1693+
zval_ptr_dtor(buf);
16941694
ZVAL_NEW_STR(buf, recv_buf);
16951695
}
16961696

@@ -1779,8 +1779,8 @@ PHP_FUNCTION(socket_recvfrom)
17791779
ZSTR_LEN(recv_buf) = retval;
17801780
ZSTR_VAL(recv_buf)[ZSTR_LEN(recv_buf)] = '\0';
17811781

1782-
zval_dtor(arg2);
1783-
zval_dtor(arg5);
1782+
zval_ptr_dtor(arg2);
1783+
zval_ptr_dtor(arg5);
17841784

17851785
ZVAL_NEW_STR(arg2, recv_buf);
17861786
ZVAL_STRING(arg5, s_un.sun_path);
@@ -1806,9 +1806,9 @@ PHP_FUNCTION(socket_recvfrom)
18061806
ZSTR_LEN(recv_buf) = retval;
18071807
ZSTR_VAL(recv_buf)[ZSTR_LEN(recv_buf)] = '\0';
18081808

1809-
zval_dtor(arg2);
1810-
zval_dtor(arg5);
1811-
zval_dtor(arg6);
1809+
zval_ptr_dtor(arg2);
1810+
zval_ptr_dtor(arg5);
1811+
zval_ptr_dtor(arg6);
18121812

18131813
address = inet_ntoa(sin.sin_addr);
18141814

@@ -1837,9 +1837,9 @@ PHP_FUNCTION(socket_recvfrom)
18371837
ZSTR_LEN(recv_buf) = retval;
18381838
ZSTR_VAL(recv_buf)[ZSTR_LEN(recv_buf)] = '\0';
18391839

1840-
zval_dtor(arg2);
1841-
zval_dtor(arg5);
1842-
zval_dtor(arg6);
1840+
zval_ptr_dtor(arg2);
1841+
zval_ptr_dtor(arg5);
1842+
zval_ptr_dtor(arg6);
18431843

18441844
memset(addr6, 0, INET6_ADDRSTRLEN);
18451845
inet_ntop(AF_INET6, &sin6.sin6_addr, addr6, INET6_ADDRSTRLEN);
@@ -2232,7 +2232,7 @@ PHP_FUNCTION(socket_create_pair)
22322232
RETURN_FALSE;
22332233
}
22342234

2235-
zval_dtor(fds_array_zval);
2235+
zval_ptr_dtor(fds_array_zval);
22362236
array_init(fds_array_zval);
22372237

22382238
php_sock[0]->bsd_socket = fds_array[0];

0 commit comments

Comments
 (0)