あるポインタ(可変長の配列を作りたい)を
作ってfor文のなかで
malloc関数を使って長さを指定しました。

そしてfor文で一回ループをした後、
配列の長さを変えたい為にまたmalloc
関数を使って長さを指定します。

1ループ前に作った配列のメモリを
開放するために以下の記述をしました

if(hairetu != NULL)
free(hairetu);

そうするとhairetuはNULLではないので
条件を満たすのですがfreeをすると
エラーになってしまいます

for文の中でメモリ開放はできないのでしょうか?
一つの変数に一度しかfreeはできないのでしょうか?