u_int16_t* checkbuffer;
checkbuffer=(u_int16_t*)malloc(20);
memcpy(checkbuffer,packet_content+14,packetlen-14);
m_ipcheck=checksum(checkbuffer,20);              //计算IP校验和
memcpy(packet_content+24,&m_ipcheck,2);        //添入IP校验和
free(checkbuffer);
free的时候老是报错,我试过了
if(checkbuffer)
  free(checkbuffer);
问题还是没法解决。请大家帮下忙!