ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ngx_cpystrn при n < 0



On Sun, Apr 26, 2009 at 03:07:45PM +0400, Peter A Leonov wrote:

> Спасибо, Игорь.
> 
> Этого я и боялся. И компилятор мне никаких варнингов не показывал,  
> когда передавал -1.

Это общая черта memcpy, strncmp, etc.
Моя позиция такая - нужно просто не допускать такой ошибочной ситуации,
а не купировать её в самой функции.

> С уважением,
> Петр Леонов.
> +7 (905) 758-12-73
> 
> On 26.04.2009, at 10:47, Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
> 
> >On Sun, Apr 26, 2009 at 04:08:41AM +0400, Peter Leonov wrote:
> >
> >>Если в ngx_cpystrn(dst, src, n) передать n меньшее нуля, то функция
> >>будет копировать данные в dst пока не встретит '\0' в src.
> >>
> >>Верно ли такое поведение?
> >>
> >>
> >>Если нет, то предлагаю поменять условие в начале этой функции:
> >>   if (n == 0) {
> >>       return dst;
> >>   }
> >>на
> >>   if (n <= 0) {
> >>       return dst;
> >>   }
> >
> >size_t не может быть отрицательным. Это будет просто большое число.
> >
> >
> >-- 
> >Igor Sysoev
> >http://sysoev.ru/en/
> >

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.