[解決済み] エラー free(): 次のサイズが無効です (高速)
2022-02-09 08:28:12
質問
とても簡単なプログラムで、データをmalloc()して、初期化し、解放するのですが、このエラーが何度も出ます。なぜこのようなことが起こるのか見当もつきませんが、何かアイデアはありますか?
#include <stdlib.h>
#include <stdio.h>
int main(){
int * big_mem;
int row_size = 4096; //not sure about this....
int num_rows = 5;
int const_val = 0xFFFFFFFF;
big_mem = (int *) malloc(row_size * num_rows);
if(!big_mem){
printf("Failed to malloc, exiting...");
return 0;
}
i = 0;
for(; i < row_size * num_rows; ++i){
big_mem[i] = const_val;
}
printf("Initialized mem, ");
free(big_mem);
big_mem = NULL;
return 0;
}
出力します。
*** Error in `./test': free(): invalid next size (fast): 0x0000000000819010 ***
解決方法は?
使用方法
malloc(row_size * num_rows * sizeof(int))
.
メモリのmallocが足りず、ループがmalloc()したメモリを超えて書き込んでいます。セグメンテーションフォールトが発生しないのが不思議なくらいです。
関連
-
[解決済み】strcmpが機能しない
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み] '{'トークンの前に期待される式
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言
-
[解決済み】whileループの時間複雑性(Big O)はどうやったらわかるの?
-
[解決済み] C言語で配列のサイズを決定するにはどうすればよいですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] フリーは、どのように無料化を知っているのですか?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み】メモリー・クロバリング・エラー
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み】EAGAINとはどういう意味ですか?
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み] テスト
-
[解決済み] '{'トークンの前に期待される式