diff options
Diffstat (limited to 'lib/libc/resolv/res_mkquery.c')
-rw-r--r-- | lib/libc/resolv/res_mkquery.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/libc/resolv/res_mkquery.c b/lib/libc/resolv/res_mkquery.c index 50e4a9e..f823026 100644 --- a/lib/libc/resolv/res_mkquery.c +++ b/lib/libc/resolv/res_mkquery.c @@ -10,10 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. @@ -72,6 +68,8 @@ static const char sccsid[] = "@(#)res_mkquery.c 8.1 (Berkeley) 6/4/93"; static const char rcsid[] = "$Id: res_mkquery.c,v 1.5.18.1 2005/04/27 05:01:11 sra Exp $"; #endif /* LIBC_SCCS and not lint */ +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); #include "port_before.h" #include <sys/types.h> @@ -104,9 +102,9 @@ res_nmkquery(res_state statp, u_char *buf, /*!< buffer to put query */ int buflen) /*!< size of buffer */ { - register HEADER *hp; - register u_char *cp, *ep; - register int n; + HEADER *hp; + u_char *cp, *ep; + int n; u_char *dnptrs[20], **dpp, **lastdnptr; UNUSED(newrr_in); @@ -214,8 +212,8 @@ res_nopt(res_state statp, int buflen, /*%< size of buffer */ int anslen) /*%< UDP answer buffer size */ { - register HEADER *hp; - register u_char *cp, *ep; + HEADER *hp; + u_char *cp, *ep; u_int16_t flags = 0; #ifdef DEBUG @@ -233,6 +231,8 @@ res_nopt(res_state statp, *cp++ = 0; /*%< "." */ ns_put16(T_OPT, cp); /*%< TYPE */ cp += INT16SZ; + if (anslen > 0xffff) + anslen = 0xffff; /* limit to 16bit value */ ns_put16(anslen & 0xffff, cp); /*%< CLASS = UDP payload size */ cp += INT16SZ; *cp++ = NOERROR; /*%< extended RCODE */ |