не должно быть большой проблемой для C-компилятора с проверкой границ и соответствующим образом аннотированной стандартной библиотекой. хотя это уже будет и не совсем C.
(ну и в любом случае: я не претендую на непробиваемость приведённого мною примера, натурально. это только иллюстрация)
Это будет совсем не C. В лучшем случае это будет жаба.
Пойнт как раз в том, что непробиваемый пример - это либо система, способная доказывать финитность исполняющихся на ней алгоритмов, либо система, способная исполнять только некоторые алгоритмы. Первое невозможно, второе по построению ограничено в возможностях.
Кривой stack frame? Легко
Re: Кривой stack frame? Легко
Date: 2002-06-18 12:30 am (UTC)(ну и в любом случае: я не претендую на непробиваемость приведённого мною примера, натурально. это только иллюстрация)
Re: Кривой stack frame? Легко
Date: 2002-06-18 12:55 am (UTC)Еще проще:
int broken_stack_frame(char * str) { char buf[BUFSIZE]; strcpy(str, buf); // etc }
>хотя это уже будет и не совсем C.
Это будет совсем не C. В лучшем случае это будет жаба.
Пойнт как раз в том, что непробиваемый пример - это либо система, способная доказывать финитность исполняющихся на ней алгоритмов, либо система, способная исполнять только некоторые алгоритмы. Первое невозможно, второе по построению ограничено в возможностях.