summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--resolv/res_query.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index febf98360e..52b2de1c99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2008-07-09  Ulrich Drepper  <drepper@redhat.com>
 
+	* resolv/res_query.c (__libc_res_nquery): Issue debug message only
+	if DEBUG is defined.
+
 	* resolv/res_query.c (__libc_res_nquery): Align buffer for T_AAAA
 	query.  Adjust buffer size computation for padding.
 
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