我的简化代码如下所示:
char decrypted[64] = "P@ssw0rd ";
int realsize = 8;
realloc(decrypted, realsize);
char *dec2 = (char *) malloc(realsize+1); // Exe crashes at this point
我猜这与 char * dec2 有关,但这只会因某些原因而崩溃Win XP。
答案 0 :(得分:7)
realloc()
或malloc()
或calloc()
,您无法realloc()
未分配的内容。
答案 1 :(得分:2)
decrypted
是在堆栈上分配的数组。 realloc
只能使用malloc
或calloc
重新分配在堆上分配的内存。