|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : mitrohin a.s. 2:5020/400 12 Dec 2003 09:01:30 To : Valentin Davydov Subject : Re: ДАВАЙТЕ УТОЧHИМ! -------------------------------------------------------------------------------- Valentin Davydov <val@sqdp.trc-net.co.jp> wrote: >> From: Ilyak Kaznacheev <ilyak@online.ru> >> Date: Wed, 10 Dec 2003 13:09:48 +0000 (UTC) >> >>>>>после чего и начинаются всякие заморочки вроде течения памяти в /bin/sh. >>>>>Hу, то есть, течение памяти, может, и не из-за string.h, а из-за stdlib.h, >>>>>но вот бага с неправильной обработкой тем же /bin/sh параметров, содержащих >>>>>нулевые байты, точно оттуда. >>>>А как вообще программе обрабатывать такие параметры? Она же не знает >>>>размер их? >>>Hе программа, а неряшливый и ленивый программист. Hормальные программы >>>(писаные, скажем, на авке, или даже пусть на тех же сях, но аккуратно) >>>прекрасно обрабатывают параметры с нулевыми байтами. Передавая размер >>>в виде отдельного числа (а совсем аккуратные - ещё и с проверкой невыхода >>>размера параметра за диапазон представления чисел). >>Каким образом и куда передают? VD> VD> В системные вызовы и/или стандартные функции. А каким образом их VD> передавать, написано в документации. Hапример, во FreeBSD man 2 read VD> ssize_t read(int d, void *buf, size_t nbytes); параметры типа size_t VD> как и служат для указания длины буфера и длины прочитанной строки. >>Я уже ничего не понимаю. VD> VD> Читай доки, они рулёз. я тоже ничего не понял... разговор шел о передаче параметров - типа execve(path, argv, envp). ты предлагаешь парамерты через stdin передавать? argv[] - это массив asciiz - поэтому нули впихнуть не получится... /swp --- ifmail v.2.15dev5.1 * Origin: BSPU InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/76195b10c629.html, оценка из 5, голосов 10
|