free(): double free detected in tcache 2
Back
HOME
C言語のノロノロ勉強を始めて3年目、表題のようなエラーに翻弄されてしまった。
free() という句は malloc のところで出て来た記憶がある程度で、どちらも未だ使用したこともなかった。
検索してみると、色々出て来るが、大分状況が違うようで理解が追いつかない。
ある時突然現れたので、もう一度自分のミスを追いかける作業をしてみた所、結果は次のようなものであった。
int main(void)
{
:
test();
:
return(0);
}
void test(void)
{
if (fp = popen([commandline],"r") !=NULL)
{
:
:
pclose(fp); // クローズ1
}
pclose(fp); // クローズ2・・・・・こちらに統一することにした
return;
}
Back
HOME

この 作品 は
クリエイティブ・コモンズ 表示 - 非営利 - 改変禁止 4.0 国際 ライセンス
の下に提供されています。
English
Powered by