LINUX.ORG.RU

История изменений

Исправление kirk_johnson, (текущая версия) :

Это сработает, только если действительно вышли за границу кадра стека.

Зачем? va_arg() инкрементирует счетчик, если перебрал — abort(). Стек тут ни при чем.

А со сисколами вообще бяда, вот, скажем, open(): может быть 2 или 3 аргумента.

И? В open проверяется flags, и если там O_CREAT или O_TMPFILE, ты должен передать аргумент. Иначе бобо. И в этом случае abort() тоже уместен, чтобы вместо mode какую-то хрень со стека не передал.

Исправление kirk_johnson, :

Это сработает, только если действительно вышли за границу кадра стека.

Зачем? va_arg() инкрементирует счетчик, если перебрал — abort(). Стек тут ни при чем.

А со сисколами вообще бяда, вот, скажем, open(): может быть 2 или 3 аргумента.

И? В open проверяется flags, и если там O_CREAT или O_TMPFILE, ты должен передать аргумент. Иначе бобо. И в этом случае abort() тоже уместен.

Исходная версия kirk_johnson, :

Это сработает, только если действительно вышли за границу кадра стека.

Зачем? va_arg() инкрементирует счетчик, если перебрал — abort(). Стек тут ни при чем.

А со сисколами вообще бяда, вот, скажем, open(): может быть 2 или 3 аргумента.

И? В open проверяется flags, и если там O_CREAT или O_TMPFILE, ты должен передать аргумент. Иначе бобо.