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