336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

strcpy의 경우 buffer overflow 가능성 문제 (null termination이 제대로 되어있지 않은경우 buffer를 엄청나게 복사할 수 있는 취약점)

를 회피하기 위해, null을 강제삽입하고 strncpy를 쓰거나, snprintf등을 사용하도록 가이드되곤 한다.


그런데, strcmp의 경우에도 overflow가 발생할 수 있을까 궁금해졌다.

strcmp의 경우 문자열을 비교하게 되는데, 메모리에 써주는 것이 아닌 단순 비교만 하는 경우에도 overflow가 발생할 수 있는지,

그리고 만일 발생한다면 어떻게 해결할 수 있는지가 궁금해졌다.


먼저 구글링을 통해 다음과 같은 토론이 존재함을 알수있었다.

http://stackoverflow.com/questions/24353504/whats-wrong-with-strcmp


토론 내용을 요약해보면,

strncmp가 좀더 낫고, memcmp가 가장 낫다고 한다.

'C Programming' 카테고리의 다른 글

공유메모리란? shmget(), shmat(), shmdt()  (1) 2016.05.05

+ Recent posts