我的简化代码如下所示:
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崩溃。
您不能用malloc()
、calloc()
或realloc()
分配尚未分配的realloc()
。
decrypted
是在堆栈上分配的数组。realloc
只能用malloc
或calloc
重新分配堆上分配的内存。