[解決済み] ダブルフリーオアコラプション(ファストトップ)
2022-01-28 19:59:51
質問内容
私のコードの次のセクションを実行すると、次のようなメッセージが表示されます。 * glibc が検出されました。 ./a.out: ダブルフリーまたは破損(fasttop): 0x08e065d0 *。 *
何度もコードを見直したのですが、どのように間違った使い方をしているのかがよくわかりません。
free (temp2)
bool found= false;
int x=0;
for ( x=0; x<=312500; x++)
{
while (count <=32)
{
fscanf (file, "%d", &temp->num);
temp->ptr=NULL;
newNode = (NODE *)malloc(sizeof(NODE));
newNode->num=temp->num;
newNode->ptr=NULL;
if (first != NULL)
{
temp2=(NODE *)malloc(sizeof(NODE));
temp2=first;
while (temp2 != NULL && !found)
{
if (temp2->num == newNode->num)
{found=true;}
temp2= temp2->ptr;
}
free(temp2);
if (!found)
{
last->ptr=newNode;
last=newNode;
count=count+1;
}
}
else
{
first = newNode;
last = newNode;
count=count+1;
}
fflush(stdin);
}
解決方法は?
問題はここです。
temp2=first;
基本的に temp2 を解放するときは、ここで確保したメモリではなく、まず temp2 を解放します。
temp2=(NODE *)malloc(sizeof(NODE));
というのも、代入後はもう解放することができないからです。
また、あなたのコードにはさらにいくつかの問題があると思われます。
fflush
を入力ストリーム上で使用することはできませんが、もう少し詳細がわからないと判断できません。
関連
-
[解決済み】エラー:cの入力の最後に期待される宣言またはステートメント
-
[解決済み】「ポインタから異なるサイズの整数へのキャスト」エラーが発生するのはなぜですか?
-
[解決済み] (.text+0x20): `main'への未定義の参照と関数への未定義の参照
-
[解決済み】初期化がキャストなしで整数からポインタを作成 - C言語
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】インクリメントオペランドとして lvalue が必要です。
-
[解決済み】エラー:不明な型名'bool'
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 `S_ISREG()` とは何ですか、そして何をするのですか?
-
[解決済み】組み込み関数「malloc」の暗黙の宣言の非互換性
-
[解決済み] (.text+0x20): `main'への未定義の参照と関数への未定義の参照
-
[解決済み】GCC Cコードで静的宣言が非静的宣言に続くことを解決するには?
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み】 「配列のイニシャライザーはイニシャライザーリストまたは文字列リテラルでなければなりません」と表示されるのですが?
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み】「複数の定義」「最初に定義されたのはここです」エラーについて
-
[解決済み] テスト
-
[解決済み】C言語のフォーマット文字列でデータ引数が使用されない [重複]。