malloc的free问题。
aData.subdata = (uint8_t *)malloc(ret-17);
malloc申请空间。
printf("parse aData buf:--------------------------------\r\n");
for(i = 0;i < subdatalen;i++){
aDat->subdata[i] = data[i+13];
printf("%#x ",aDat->subdata[i]);
}
memcpy(aDat->subdata,&(data[13]),subdatalen);
使用memcpy赋值不会改变指针地址。
// aDat->subdata = data + 13;
直接将地址赋值将会修改malloc申请空间的地址。
free(aData.subdata);
导致free原malloc地址时出现异常。