@@ -646,6 +646,7 @@ int php_if_index_to_addr4(unsigned if_index, php_socket *php_sock, struct in_add
646
646
goto retry ;
647
647
}
648
648
if (retval != NO_ERROR ) {
649
+ efree (addr_table );
649
650
php_error_docref (NULL , E_WARNING ,
650
651
"GetIpAddrTable failed with error %lu" , retval );
651
652
return FAILURE ;
@@ -654,9 +655,11 @@ int php_if_index_to_addr4(unsigned if_index, php_socket *php_sock, struct in_add
654
655
MIB_IPADDRROW r = addr_table -> table [i ];
655
656
if (r .dwIndex == if_index ) {
656
657
out_addr -> s_addr = r .dwAddr ;
658
+ efree (addr_table );
657
659
return SUCCESS ;
658
660
}
659
661
}
662
+ efree (addr_table );
660
663
php_error_docref (NULL , E_WARNING ,
661
664
"No interface with index %u was found" , if_index );
662
665
return FAILURE ;
@@ -686,6 +689,7 @@ int php_add4_to_if_index(struct in_addr *addr, php_socket *php_sock, unsigned *i
686
689
goto retry ;
687
690
}
688
691
if (retval != NO_ERROR ) {
692
+ efree (addr_table );
689
693
php_error_docref (NULL , E_WARNING ,
690
694
"GetIpAddrTable failed with error %lu" , retval );
691
695
return FAILURE ;
@@ -694,9 +698,11 @@ int php_add4_to_if_index(struct in_addr *addr, php_socket *php_sock, unsigned *i
694
698
MIB_IPADDRROW r = addr_table -> table [i ];
695
699
if (r .dwAddr == addr -> s_addr ) {
696
700
* if_index = r .dwIndex ;
701
+ efree (addr_table );
697
702
return SUCCESS ;
698
703
}
699
704
}
705
+ efree (addr_table );
700
706
701
707
{
702
708
char addr_str [17 ] = {0 };
0 commit comments