Mercurial > hg > nginx
comparison src/core/ngx_resolver.c @ 4556:1bddc91e78d6
Resolver: added missing sanity checking when creating name queries.
Found by Veracode.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 22 Mar 2012 11:57:18 +0000 |
parents | 95ab6658654a |
children | 778d2cc03e22 c92289afb5be |
comparison
equal
deleted
inserted
replaced
4555:555ca31dea18 | 4556:1bddc91e78d6 |
---|---|
1838 if (*s != '.') { | 1838 if (*s != '.') { |
1839 *p = *s; | 1839 *p = *s; |
1840 len++; | 1840 len++; |
1841 | 1841 |
1842 } else { | 1842 } else { |
1843 if (len == 0) { | 1843 if (len == 0 || len > 255) { |
1844 return NGX_DECLINED; | 1844 return NGX_DECLINED; |
1845 } | 1845 } |
1846 | 1846 |
1847 *p = (u_char) len; | 1847 *p = (u_char) len; |
1848 len = 0; | 1848 len = 0; |
1849 } | 1849 } |
1850 | 1850 |
1851 p--; | 1851 p--; |
1852 } | |
1853 | |
1854 if (len == 0 || len > 255) { | |
1855 return NGX_DECLINED; | |
1852 } | 1856 } |
1853 | 1857 |
1854 *p = (u_char) len; | 1858 *p = (u_char) len; |
1855 | 1859 |
1856 return NGX_OK; | 1860 return NGX_OK; |