free pointer before returning.
svn path=/trunk/; revision=18196
#define IPBUF 17
#define IN_ADDR_OF(x) *((struct in_addr *)&(x))
#define IPBUF 17
#define IN_ADDR_OF(x) *((struct in_addr *)&(x))
{
fprintf( stderr,
"route usage:\n"
{
fprintf( stderr,
"route usage:\n"
{
PMIB_IPFORWARDTABLE IpForwardTable = NULL;
PIP_ADAPTER_INFO pAdapterInfo = NULL;
{
PMIB_IPFORWARDTABLE IpForwardTable = NULL;
PIP_ADAPTER_INFO pAdapterInfo = NULL;
ULONG Size = 0;
ULONG adaptOutBufLen;
TCHAR DefGate[16];
ULONG Size = 0;
ULONG adaptOutBufLen;
TCHAR DefGate[16];
if( (GetIpForwardTable( NULL, &Size, TRUE )) == ERROR_INSUFFICIENT_BUFFER )
IpForwardTable = malloc( Size );
if( (GetIpForwardTable( NULL, &Size, TRUE )) == ERROR_INSUFFICIENT_BUFFER )
IpForwardTable = malloc( Size );
- if ((GetAdaptersInfo(pAdapterInfo, &adaptOutBufLen) == NO_ERROR) &&
- GetIpForwardTable( IpForwardTable, &Size, TRUE ) == NO_ERROR)
+ if ((Error = (GetAdaptersInfo(pAdapterInfo, &adaptOutBufLen) == NO_ERROR)) &&
+ (Error = (GetIpForwardTable(IpForwardTable, &Size, TRUE) == NO_ERROR)))
{
_tcsncpy(DefGate, pAdapterInfo->GatewayList.IpAddress.String, 16);
_tprintf(_T("===========================================================================\n"));
{
_tcsncpy(DefGate, pAdapterInfo->GatewayList.IpAddress.String, 16);
_tprintf(_T("===========================================================================\n"));
_tprintf(_T("===========================================================================\n"));
_tprintf(_T("Persistent Routes:\n"));
_tprintf(_T("===========================================================================\n"));
_tprintf(_T("Persistent Routes:\n"));
- free( IpForwardTable );
+ free(IpForwardTable);
+ free(pAdapterInfo);
else if ( !strcasecmp( argv[1], "print" ) )
else if ( !strcasecmp( argv[1], "print" ) )
else if( !strcasecmp( argv[1], "add" ) )
return add_route( argc-2, argv+2 );
else if( !strcasecmp( argv[1], "delete" ) )
return del_route( argc-2, argv+2 );
else
else if( !strcasecmp( argv[1], "add" ) )
return add_route( argc-2, argv+2 );
else if( !strcasecmp( argv[1], "delete" ) )
return del_route( argc-2, argv+2 );
else