代码在Windows XP上的malloc()崩溃

时间:2013-02-15 13:25:25

标签: c malloc

我的简化代码如下所示:

 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。

2 个答案:

答案 0 :(得分:7)

realloc()malloc()calloc(),您无法realloc()未分配的内容。

答案 1 :(得分:2)

decrypted是在堆栈上分配的数组。 realloc只能使用malloccalloc重新分配在堆上分配的内存。