2012-04-05 6 views
1

私はC関数を呼び出すpythonプログラムを持っています。変更可能な文字を含む構造体をc関数に送り、my関数が構造体を埋めます。*** glibcが見つかりました*** python:free():無効な次のサイズ(高速):

クラスMYS(構造): フィールド = [( "X"、c_intの)、 (100 *のc_charを "バッファ")]

Iは、C関数にこれを送信し、C関数がいっぱいこの構造の値。私のプログラムは、非常に細かい動作しますが、帰国後、それはエラーに

をスロー* glibcの検出*のpython:無料():無効次のサイズ(速い):

プログラムのその後の実行は、以下の3つのエラーのいずれかを示していコードの小さな変化(例えば、 "hi"の印刷)で。

* glibcの検出*のpython:のmalloc():無効次のサイズ(速い):

* glibcの検出*のpython:無料():無効次のサイズ(速い):

分割エラー

私を助けてください。前もって感謝します。

+0

malloc()エラーが発生した場合、私のプログラムは完全に実行されません – Sudip

答えて

1

C関数に渡されたメモリの終わりを越えて書き込みを行うことで、単純かつ単純なメモリアリーナが破損していますが、ソースコードを見ることなく確実にわかりません。

このメッセージは、glibがメモリ割り当てのアカウンティング情報が破損していることが検出された場合にのみ表示されます。

関連する問題