확실하게 core dump가 나게 할수 있게 할려면 어떻게 고쳐야 될

Fe.head의 이미지

아래 코드가 있습니다.

원래 세그먼트 폴트가 나와야 맞는데.

        ssprintf("ABCDEF %4s\n", i);

어떤 시스템에서는 나오고
어떤 시스템에서는 안나옵니다.

꼭 세그먼트 폴트가 나올수 있게끔 할려면 어디를 수정하는것이 나을까요?

ssprintf 함수를 전혀 바꾸지 않고
ssprintf를 호출할때 %s, i(i=0) 는 꼭 써야 한다고 한다면요.

        int     i=0;
        ssprintf("%4s", i);

#include <stdio.h>
#include <stdarg.h>

void ssprintf(const char * fmt, ...)
{
        va_list ap;
        va_start(ap, fmt);
        vprintf(fmt, ap);
        va_end(ap);
}


int main()
{
        int     i=0;
        ssprintf("ABCDEF %4s\n", i);

        return 0;
}
mach337의 이미지

원하는 위치에서 abort() 하심이 어떠실지...