if( find_lease( &dhcpl, dhcpm->xid, dhcpm->chaddr ) < 0 )
{
fprintf( stdout, "No free leases! \n" );
+ free( name );
return -1;
}
dhcpm->op = BOOTREPLY;
sprintf( name, "%u.%u.%u.%u", (dhcpm->ciaddr &0xFF), ((dhcpm->ciaddr>>8)&0xFF), ((dhcpm->ciaddr>>16)&0xFF), ((dhcpm->ciaddr>>24)&0xFF));
display_dhcp_packet( dhcpm, dhcpo );
write_packet( dhcpm, name );
+ free( name );
return -1;
}
dhcpm->siaddr = dhcpl.siaddr;
display_dhcp_packet( dhcpm, dhcpo );
write_packet( dhcpm, name );
fprintf( stdout, "process_dhcp_packet [end]!\n");
+ free( name );
return 0;
}