버그는 사소한 곳에…

정보검색과제를 하면서 5번 안에 제출해야 감점이 없는데
오늘은 한번의 기회 남겨놓고 벼랑끝에 몰렸다…

과제의 요점은 html문서를 요청해서 저장하고,
a 링크로 연결된 URL을 뽑아오는 것이였는데,
URL뽑는데만 혈안이 되어서는, 없는 오류만 계속 찾고 있었다.

결국 오류는 아주 사소한 곳에 있었다.
당연히 완벽하다고 생각했던 부분에…

recv로 요청한 웹페이지를 받을 때 버퍼 사이즈에 꽉 채워서
받고는 그걸 파일에 기록했으니 널문자를 언제 만날지 기약이
없는 상태였다. 문제는 뒤에 쓰레기 문자가 들어가도 파일사이즈가
맞는 결과와 동일했고 외형상으로도 알수가 없었기에 전혀 의심을 못했다.

핑계지만, 자바였다면 발생하지 않았을 버그…
C언어 문자열의 처리에서 늘 null문자를 신경써야 한다는 사실을…
다시 한번 명심!

댓글 남기기