2012-04-05 33 views
1

我有一個調用C函數的python程序。我發送了一些包含可變字符的結構給c函數,我的c函數完成了結構。*** glibc檢測到*** python:free():無效下一個大小(快):

類MYS(結構): 字段 = [( 「X」,c_int的), ( 「緩衝器」,100 * c_char)]

我發送這個到C函數和C函數填充在這個結構中的價值。我的程序運行非常正常,但返回後它拋出一個錯誤

* glibc的檢測*蟒蛇:免費():無效的下一個尺寸(快速):

程序的後續執行顯示以下3個錯誤之一代碼中的小改動(例如打印「hi」)。

* glibc的檢測*蟒蛇:的malloc():無效的下一個尺寸(快速):

* glibc的檢測*蟒蛇:免費():無效的下一個尺寸(快速):

分段故障

請幫我一把。提前致謝。

+0

當malloc()錯誤來了我的程序不能完全執行 – Sudip 2012-04-05 13:03:52

回答

1

你已經損壞了內存競技場,很簡單,可能是通過寫入超出了傳遞給C函數的內存的末尾,但沒有看到源代碼,我們永遠不會知道。

僅當glib檢測到內存分配記帳信息已損壞時,纔會顯示該消息。

相關問題