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;