百度网站推广价格查询,宏宇网站建设,wordpress离线发布功能,搭建网站一条龙问题描述#xff1a; 在一个函数中存在free#xff0c;第一次进入此函数没有问题#xff0c;但是第二次出错
strncpy(pdd_all_data[i].sensor_name,white_list[j].dev_name,strlen(pdd_all_data[i].sensor_name)); 上面代码都是使用strncpy不小心导致double free or corrup… 问题描述 在一个函数中存在free第一次进入此函数没有问题但是第二次出错
strncpy(pdd_all_data[i].sensor_name,white_list[j].dev_name,strlen(pdd_all_data[i].sensor_name)); 上面代码都是使用strncpy不小心导致double free or corruption (!prev)和free的段错误。由于pdd_all_data没有初始化所以strlen(pdd_all_data[i].sensor_name)完全是不可预知会导致未定义的操作可能操作了其他内存导致free失败
总结 寻找每一个可能的会操作内存的位置确定是否操作了未分配的内存。如果动了没有分配的内存free会出问题的。