Hello! On Tue, Nov 22, 2022 at 01:49:22PM +0000, Korobov Vladimir via nginx-ru wrote:
> Статический анализ исходного кода выявил некоторые непонятные для меня места. > ngx_http_proxy_module.c: строка 1489 > > while (*(uintptr_t *) le.ip) { > > lcode = *(ngx_http_script_len_code_pt *) le.ip; > (void) lcode(&le); [...] > code = *(ngx_http_script_code_pt *) e.ip; > code((ngx_http_script_engine_t *) &e); [...] > } > > В этой строке e.ip не проверяется на валидность перед > использованием, хотя в этом файле это всегда делается перед > использованием. Помогите понять почему? Тут e.ip используется после проверки le.ip в начале цикла. Если вдруг e.ip окажется NULL - это означает, что коды в headers->lengths и headers->values рассинхронизированы, и всё происходящее не имеет смысла. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org