_IO_str_overflow_internal 에러 발생 시

IT/Programming/Solution/Tip 2013. 7. 3. 07:07

리눅스 어플리케이션에서 _IO_str_overflow_internal 에러가 발생할 때, 오버플로우에 문제 해결의 주안을 맞추게 되는데 정작 원인은 동떨어져있을 경우가 있다. 오늘 새벽에 한 4시간 정도 삽질을 한 끝에야 원인을 찾을 수 있었는데, 잘못된 캐스팅으로 인하여 동적 메모리가 제대로 할당되지 않아 dangling pointer가 생성되었고, 해당 공간에 snprintf()를 수행하여 segmentation fault가 발생했던 것이다. 웃기게도 에러 메시지가 overflow 키워드를 담고 있어 완전 고생했다. 아무리 사이즈를 넉넉하게 줘도 오버플로우가 발생하길래 내가 꿈에서 코딩을 하고 있는건지 의심이 될 정도로..

 

하나씩 메모리 덤프를 까 볼 생각을 왜 못했을까. x/x buf 를 타이핑하고 엔터를 친 순간 탄식을 하지 않을 수 없었다.

아.. ㅠㅠ

설정

트랙백

댓글