if (*s1) return (NULL);
코드에서 NULL
을 반환했을 때 pointer being freed was not allocated
라는 에러 메세지가 뜬다. 말 그대로 할당된 메모리가 없는 NULL Pointer인데 free되었을 경우라는 의미이다.18446744073709551615
로 들어가게 된다. 따라서 아래 ft_strchr 함수를 동작하는 과정에서 bus error 가 발생하게 된다.if (!s1)
return (NULL);
if (*s1 == 0 || *set == 0)
return ((char *)s1);
위 코드를 아래와 같이 변경해준다.
if (s1 == 0 || set == 0)
return ((char *)s1);
size_t
타입의 변수를 int
로 변경해준다.