RE: Исправления срабатываний статического анализатора.
Korobov Vladimir
Vladimir.Korobov на infotecs.ru
Ср Окт 5 10:18:41 UTC 2022
Да, нужно доработать патч. Согласен.
С уважением,
Владимир Коробов
-----Original Message-----
From: Slawa Olhovchenkov <slw на 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 <slw на 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 <slw на 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-leave на nginx.org
> > _______________________________________________
> > nginx-ru mailing list -- nginx-ru на nginx.org To unsubscribe send an
> > email to nginx-ru-leave на nginx.org
> _______________________________________________
> nginx-ru mailing list -- nginx-ru на nginx.org To unsubscribe send an
> email to nginx-ru-leave на nginx.org
> _______________________________________________
> nginx-ru mailing list -- nginx-ru на nginx.org To unsubscribe send an
> email to nginx-ru-leave на nginx.org
_______________________________________________
nginx-ru mailing list -- nginx-ru на nginx.org To unsubscribe send an email to nginx-ru-leave на nginx.org
Подробная информация о списке рассылки nginx-ru