2012-04-05 66 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检测到内存分配记帐信息已损坏时,才会显示该消息。