
复制// 1) copy the label to the output buffer,露危漏洞
ngx_strlow(dst, src, n); dst += n; src += n; // 2) read next character, n = *src++; // 3) as its a pointer, its not NUL, if (n != 0) { // 4) so a dot character that was not accounted for is written out of bounds *dst++ = .; } // 5) Afterwards, the pointer is followed, if (n & 0xc0) { n = ((n & 0x3f) <<8) + *src; src = &buf[n]; n = *src++; } // 6) and a NULL byte is found, signaling the end of the function if (n == 0) { name->len = dst - name->data; return NGX_OK; } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.
(责任编辑:IT科技类资讯)