[devel] glibc 6:2.5-alt2 to git-push

Dmitry V. Levin ldv на altlinux.org
Вс Окт 15 15:21:02 MSD 2006


On Sun, Oct 15, 2006 at 02:58:00PM +0400, Alexey Tourbin wrote:
> On Sun, Oct 15, 2006 at 02:42:44PM +0400, Dmitry V. Levin wrote:
> > > Кстати с asprintf результат можно не проверять, вот каким образом:
> > > 
> > > char *ptr = NULL;
> > > asprintf(&ptr, fmt, ...);
> > > if (ptr) {
> > > 	...
> > > } else {
> > > 	// asprintf failed
> > > }
> > 
> > Это не переносимо на другие дистрибутивы.  У меня когда-то давно была
> > растянутая во времени дискуссия в libc-alpha с Дреппером на тему
> > glibc-2.5-alt-asprintf.patch, можно нагуглить.  В конечном итоге меня
> > поддержали все кроме Дреппера. :)
> 
> Нет, ты с ним дискутировал о том, что asprintf должен ЗАНУЛЯТЬ ptr если
> внутри пошло что-то не так (упал malloc).

Нет, ты слишком узко трактуешь.

> Здесь же я НЕ рассчитываю на
> то, что asprintf занулит prt -- он уже занулен с самого начала; а всего
> лишь на то, что при ошибке asprintf не будет его модифицировать (или же
> таки занулит).

Ванильный asprintf в случае ошибки оставит по адресу prt неизвестно что,
например, это может быть адрес памяти, которую он использовал во время
работы.


-- 
ldv
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.org/pipermail/devel/attachments/20061015/971e916d/attachment.bin 


Подробная информация о списке рассылки Devel