Welcome! Log In Create A New Profile

Advanced

Проблема с нулевым байтом в ngx_crypt()

Laletin Michail
November 29, 2010 03:20AM
src/os/unix/ngx_user.c

81 if (value) {
82 len = ngx_strlen(value);
83
84 *encrypted = ngx_pnalloc(pool, len);
85 if (*encrypted) {
86 ngx_memcpy(*encrypted, value, len + 1);
87 }

Под строку encrypted выделяется место без учёта нулевого байта на
конце (len байт).
А копируется len + 1 байт.

У меня из-за этого строка encrypted вылезает за пределы ngx_pool_s в
которой для неё
зарезервировано место и затирает один байт в следующей ngx_pool_s,
повреждая d.last.
В конечном итоге это приводит к полному затиранию d.last d.end и потом
segmentation violation.




-----------------------------------
Лалетин Михаил
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Проблема с нулевым байтом в ngx_crypt()

Laletin Michail November 29, 2010 03:20AM

Re: Проблема с нулевым байтом в ngx_crypt()

Maxim Dounin November 29, 2010 10:24AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 276
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready