@@ -652,6 +652,7 @@ int php_if_index_to_addr4(unsigned if_index, php_socket *php_sock, struct in_add
652
652
goto retry ;
653
653
}
654
654
if (retval != NO_ERROR ) {
655
+ efree (addr_table );
655
656
php_error_docref (NULL , E_WARNING ,
656
657
"GetIpAddrTable failed with error %lu" , retval );
657
658
return FAILURE ;
@@ -660,9 +661,11 @@ int php_if_index_to_addr4(unsigned if_index, php_socket *php_sock, struct in_add
660
661
MIB_IPADDRROW r = addr_table -> table [i ];
661
662
if (r .dwIndex == if_index ) {
662
663
out_addr -> s_addr = r .dwAddr ;
664
+ efree (addr_table );
663
665
return SUCCESS ;
664
666
}
665
667
}
668
+ efree (addr_table );
666
669
php_error_docref (NULL , E_WARNING ,
667
670
"No interface with index %u was found" , if_index );
668
671
return FAILURE ;
@@ -692,6 +695,7 @@ int php_add4_to_if_index(struct in_addr *addr, php_socket *php_sock, unsigned *i
692
695
goto retry ;
693
696
}
694
697
if (retval != NO_ERROR ) {
698
+ efree (addr_table );
695
699
php_error_docref (NULL , E_WARNING ,
696
700
"GetIpAddrTable failed with error %lu" , retval );
697
701
return FAILURE ;
@@ -700,9 +704,11 @@ int php_add4_to_if_index(struct in_addr *addr, php_socket *php_sock, unsigned *i
700
704
MIB_IPADDRROW r = addr_table -> table [i ];
701
705
if (r .dwAddr == addr -> s_addr ) {
702
706
* if_index = r .dwIndex ;
707
+ efree (addr_table );
703
708
return SUCCESS ;
704
709
}
705
710
}
711
+ efree (addr_table );
706
712
707
713
{
708
714
char addr_str [17 ] = {0 };
0 commit comments