2012-04-05 2 views
1

C 함수를 호출하는 Python 프로그램이 있습니다. 변경 가능한 문자를 포함하는 구조체를 c 함수에 보내고 c 함수가 구조체를 채 웁니다.*** glibc가 탐지되었습니다 *** python : free() : 다음 크기가 유효하지 않습니다 (빠름) :

클래스 미스 (구조) 가 필드는 = [("X", c_int) ("버퍼"100 * c_char)]

I는 C 기능과 C 함수로이를 전송할가 채워 이 구조의 값. 내 프로그램은 매우 잘 작동하지만, 복귀 후에는

* glibc에 *이 파이썬을 감지 오류가 발생합니다 : 무료() : (빠른) 유효하지 않은 다음 크기 :

가 프로그램의

후속 실행은 다음과 같은 3 오류 중 하나를 보여줍니다 코드의 작은 변화 (예 : "hi"인쇄).

* glibc에 감지 * 파이썬 : malloc에 ​​() : (빠른) 다음 크기를 무효 :

* glibc에 감지 * 파이썬 :) (무료 : 잘못된 다음 크기 (고속) :

세분화 오류

도와주세요. 미리 감사드립니다.

+0

malloc() 오류가 발생하면 프로그램이 완전히 실행되지 않습니다. – Sudip

답변

1

C 함수에 전달 된 메모리의 끝 부분을 넘어서 쓰면 메모리 영역이 손상되었을 수 있지만 소스 코드를 보지 않고는 결코 알 수 없습니다.

glib이 메모리 할당 계정 정보가 손상되었음을 감지하면 해당 메시지가 나타납니다.

관련 문제