Да, нужно доработать патч. Согласен. С уважением, Владимир Коробов
-----Original Message----- From: Slawa Olhovchenkov <s...@zxy.spb.ru> Sent: Wednesday, October 5, 2022 1:10 PM To: Korobov Vladimir via nginx-ru <nginx-ru@nginx.org> Subject: Re: Исправления срабатываний статического анализатора. On Wed, Oct 05, 2022 at 09:24:19AM +0000, Korobov Vladimir via nginx-ru wrote: > Окей, неправально выразился. > Я понимаю, что делает этот патч и он не делает хуже. окей, возьмем скажем второй кусок патча. diff -r ba5cf8f73a2d -r ee42d7efc9a6 src/http/modules/ngx_http_proxy_module.c --- a/src/http/modules/ngx_http_proxy_module.c Thu Sep 08 13:53:49 2022 +0400 +++ b/src/http/modules/ngx_http_proxy_module.c Fri Sep 23 03:52:37 2022 -0700 @@ -1485,9 +1485,11 @@ continue; } - - code = *(ngx_http_script_code_pt *) e.ip; - code((ngx_http_script_engine_t *) &e); + + if (*(uintptr_t *) e.ip) { + code = *(ngx_http_script_code_pt *) e.ip; + code((ngx_http_script_engine_t *) &e); + } *e.pos++ = ':'; *e.pos++ = ' '; взяли и просто выкинули исполнение кода (вопрос о том, может ли в e.ip вообще чисто теоретически быть NULL -- пока опустим) раскрытия макросов. но сдвиг по строке оставили. это точно то, что надо делать и это не сделает хуже? при этом, если посмотреть внимательно, то ниже, после цикла while у нас написанно e.ip += sizeof(uintptr_t); т.е. если предположить, что по какой-то причине у нас структрура headers->values->elts (по которой и бежит e.ip) побилась, и там вдруг возник NULL где не надо, то мы его пропустим и дальше будем уже выполнять мусор. ну или еще NULL пропустим, пока мусор не попадется. после этого его выполним. точно-точно не хуже? > С уважением, > Владимир Коробов > > > -----Original Message----- > From: Slawa Olhovchenkov <s...@zxy.spb.ru> > Sent: Wednesday, October 5, 2022 12:13 PM > To: Korobov Vladimir via nginx-ru <nginx-ru@nginx.org> > Subject: Re: Исправления срабатываний статического анализатора. > > On Wed, Oct 05, 2022 at 05:22:10AM +0000, Korobov Vladimir via nginx-ru wrote: > > > Кажется, что да, что-то делают. Цели успокоить анализатора нет, тем более > > анализатор генерирует несколько сотен предупреждений, а исправляются патчем > > только несколько. > > погоди-погоди, как так "кажется"? > ны написал какой-то код, но сам не понимаешь что он делает? > а не делает ли он хуже? > > > С уважением, > > Владимир Коробов > > > > > > -----Original Message----- > > From: Slawa Olhovchenkov <s...@zxy.spb.ru> > > Sent: Tuesday, October 4, 2022 4:05 PM > > To: Korobov Vladimir via nginx-ru <nginx-ru@nginx.org> > > Subject: Re: Исправления срабатываний статического анализатора. > > > > On Tue, Oct 04, 2022 at 12:00:57PM +0000, Korobov Vladimir via nginx-ru > > wrote: > > > > > Добрый день > > > > > > После проверки исходного кода статическим анализатором (Svace > > > https://www.ispras.ru/technologies/svace/) выделено несколько > > > потенциально опасных мест, закрывающихся приложенным патчем. > > > > > > Прошу рассмотреть возможность включения указанных изменений в исходный > > > код проекта. > > > > а эти исправления на самом деле что делают? > > Успокаивают статистический анализатор или исправляют ошибки? > > _______________________________________________ > > nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an > > email to nginx-ru-le...@nginx.org > > _______________________________________________ > > nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an > > email to nginx-ru-le...@nginx.org > _______________________________________________ > nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an > email to nginx-ru-le...@nginx.org > _______________________________________________ > nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an > email to nginx-ru-le...@nginx.org _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org