보통 함수를 작성할 때 다음과 같이 인자로 받은 포인터를 검증한다.

한 후배가 물었다.
 "만약 NULL 이 아닌 잘못된 포인터가 넘어온 경우는 어떻게 체크하죠?"
당연한 듯이 대답해주었다.
 "그걸 어떻게 체크하냐? 어쩔 수 없는 거지!!"

퇴근하면서 생각해 보니... 어쩔수 없지는... 않을 것 같아서 한번 만들어 보았다. ^^

 

사용법은 다음과 같다.

 

실행 결과는 다음과 같다

Result String : Some String
Fail to Copy String

 

할당되지 않은 포인터를 버퍼 인자로 넘겼을 때 Access Violation이 발생하지 않고 Parameter Validation 과정에서 걸러지는 것을 확인할 수 있다.

생각나는대로 뚝딱 만든 것이니 지나가던 고수님께서 혹시 틀린 부분이라도 발견하신다면 알려주시라.

Posted by kuaaan
,


사랑합니다. 편안히 잠드소서