我有一个像这样的指针:
const u_char *packet;
从42个元素到某一点我必须将它复制到另一个char指针中。
u_char *payload = new u_char[];
int j = 0, l = 0;
while (j < header->caplen - 42 - 1) {
if (j >= 42){
payload[l] = packet[j];
l++;
}
j++;
}
payload[l] = '\0';
它运行正常但是在某个数据包中它给了我这个错误:
Unhandled exception at 0x55B3FB53 (msvcr120d.dll) in eval_waic.exe: 0xC0000005: Access violation reading location 0xCCCCCCCC
知道为什么吗?它工作得很好直到包!我查了一下,这不是包裹的错误..
答案 0 :(得分:0)
您需要为payload
提供足够的空间来存储结果。从我看到的
u_char *payload = new u_char[header->caplen - 42];
应该这样做。