[devel] IA: destination buffer overflow - ppp
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Ноя 30 01:27:51 MSK 2007
On Thu, Nov 29, 2007 at 06:06:01PM +0600, Slava Semushin wrote:
> 29.11.07, Денис Смирнов<mithraen / altlinux.ru> написал(а):
> [...]
> > KAS> В glibc нету strlcpy и strlcat. В нашем glibc приложен патч
> > KAS> glibc-2.5-obsd-alt-strlcpy-strlcat.patch
> > KAS> Учитывая что мэнтэйнер glibc работает в redhat, трудно ожидать в их glibc
> > KAS> этот патч ;)
>
> Место его работы IMHO тут абсолютно непричем.
>
> > Мне жутко интересно что мешает мантейнеру glibc включить этот патч.
>
> Всё просто: он против.
>
> Цитата с http://en.wikipedia.org/wiki/Strlcpy:
>
> "Furthermore, some, including Ulrich Drepper, argue that strlcpy and
> strlcat make truncation errors easier for a programmer to ignore and
> thus can introduce more bugs than they remove;[2] consequently, these
> functions have not been added to the GNU C Library."
Забавно то, что эта позиция не помешала ему наплодить в самом glibc
достаточно кода, неправильно использующего asprintf:
2001-12-06 Ulrich Drepper <drepper.redhat.com>
* libio/vasprintf.c (_IO_vasprintf): Free buffer on failure.
* assert/assert.c: Check result of __asprintf call and don't use
string if it failed.
* assert/assert-perr.c: Likewise.
* inet/rcmd.c: Likewise.
* locale/programs/localedef.c (main): Check result of
construct_output_path and exit if it failed.
(construct_output_path): Check result of asprintf and mkdir calls and
fail if they failed.
* posix/getopt.c: Check result of __asprintf calls and fail if
they failed.
Patch by Dmitry V. Levin <ldv.alt-linux.org>.
2004-06-14 Andreas Schwab <schwab.suse.de>
* stdio-common/psignal.c (psignal): Don't use BUF when asprintf
failed.
2004-05-07 Dmitry V. Levin <ldv.altlinux.org>
* argp/argp-help.c (__argp_error, __argp_failure): Check result
of __asprintf call and don't use string if it failed.
* stdio-common/psignal.c (psignal): Likewise.
* locale/programs/localedef.c (more_help): Likewise.
* resolv/res_hconf.c (arg_service_list, arg_trimdomain_list,
arg_bool, parse_line): Check result of __asprintf calls and
don't use string if they failed.
* sunrpc/svc_simple.c (registerrpc, universal): Likewise.
* elf/ldconfig.c (parse_conf_include): Check result of __asprintf
call and exit if it failed.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20071130/43307068/attachment-0002.bin>
Подробная информация о списке рассылки Devel