#include <string.h>
char *strtok(char * restrict s1, const char * restrict s2);
(ISO/IEC 9899:1999 7.21.5.8 The strtok function -1 Synopsis)とあり、
strtokはstrに対して内容の変更を行う。一方、
If the program attempts to modify such an array, the behavior is
undefined. (ISO/IEC 9899:1999 6.4.5 String literals -6)
とあるから、落ちたとしてもそれは不適切な動作とは言えない。