Skip to content

Commit aea56f5

Browse files
committed
fix zendmm leaks
1 parent ceb2f97 commit aea56f5

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

ext/sockets/sockets.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1701,6 +1701,12 @@ PHP_FUNCTION(socket_recvfrom)
17011701
zend_update_property(Z_OBJCE(obj), Z_OBJ(obj), ZEND_STRL("payload"), &zpayload);
17021702
zend_update_property_string(Z_OBJCE(obj), Z_OBJ(obj), ZEND_STRL("rawpayload"), ZSTR_VAL(recv_buf));
17031703
zend_string_efree(recv_buf);
1704+
ZEND_TRY_ASSIGN_REF_VALUE(arg2, &obj);
1705+
ZEND_TRY_ASSIGN_REF_STRING(arg5, ifrname);
1706+
1707+
if (arg6) {
1708+
ZEND_TRY_ASSIGN_REF_LONG(arg6, sll.sll_ifindex);
1709+
}
17041710
zend_value_error("unsupported ip header protocol");
17051711
RETURN_THROWS();
17061712
}
@@ -1729,6 +1735,12 @@ PHP_FUNCTION(socket_recvfrom)
17291735
zend_update_property(Z_OBJCE(obj), Z_OBJ(obj), ZEND_STRL("payload"), &zpayload);
17301736
zend_update_property_string(Z_OBJCE(obj), Z_OBJ(obj), ZEND_STRL("rawpayload"), ZSTR_VAL(recv_buf));
17311737
zend_string_efree(recv_buf);
1738+
ZEND_TRY_ASSIGN_REF_VALUE(arg2, &obj);
1739+
ZEND_TRY_ASSIGN_REF_STRING(arg5, ifrname);
1740+
1741+
if (arg6) {
1742+
ZEND_TRY_ASSIGN_REF_LONG(arg6, sll.sll_ifindex);
1743+
}
17321744
zend_value_error("unsupported ethernet protocol");
17331745
RETURN_THROWS();
17341746
}

0 commit comments

Comments
 (0)