diff options
Diffstat (limited to 'resolv')
-rw-r--r-- | resolv/res_query.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/resolv/res_query.c b/resolv/res_query.c index d3a959f3b4..b2b45acde7 100644 --- a/resolv/res_query.c +++ b/resolv/res_query.c @@ -155,14 +155,14 @@ __libc_res_nquery(res_state statp, nquery1 = n; /* Align the buffer. */ int npad = ((nquery1 + __alignof__ (HEADER) - 1) - & ~(__alignof__ (HEADER))); + & ~(__alignof__ (HEADER) - 1)) - nquery1; if (n > bufsize - npad) { n = -1; goto unspec_nomem; } - query2 = buf + npad; int nused = n + npad; + query2 = buf + nused; n = res_nmkquery(statp, QUERY, name, class, T_AAAA, NULL, 0, NULL, query2, bufsize - nused); if (n > 0 @@ -204,8 +204,10 @@ __libc_res_nquery(res_state statp, if ((statp->options & RES_USE_EDNS0) != 0 && ((oflags ^ statp->_flags) & RES_F_EDNS0ERR) != 0) { statp->_flags |= RES_F_EDNS0ERR; +#ifdef DEBUG if (statp->options & RES_DEBUG) printf(";; res_nquery: retry without EDNS0\n"); +#endif goto again; } #ifdef DEBUG |