[COMMITTED] nss_dns: Remove superfluous dn_expand call from network handling

Submitted by Florian Weimer on April 4, 2017, 7:01 p.m.

Details

Message ID 20170404190120.E9DD64035F5CB@oldenburg.str.redhat.com
State New
Headers show

Commit Message

Florian Weimer April 4, 2017, 7:01 p.m.
2017-04-04  Florian Weimer  <fweimer@redhat.com>

	* resolv/nss_dns/dns-network.c (getanswer_r): Remove __dn_expand
	call whose result is not used.

Comments

Andreas Schwab April 4, 2017, 8:15 p.m.
On Apr 04 2017, fweimer@redhat.com (Florian Weimer) wrote:

> 	* resolv/nss_dns/dns-network.c (getanswer_r): Remove __dn_expand
> 	call whose result is not used.

What about the side effect?

Andreas.
Florian Weimer April 5, 2017, 6:51 a.m.
On 04/04/2017 10:15 PM, Andreas Schwab wrote:
> On Apr 04 2017, fweimer@redhat.com (Florian Weimer) wrote:
>
>> 	* resolv/nss_dns/dns-network.c (getanswer_r): Remove __dn_expand
>> 	call whose result is not used.
>
> What about the side effect?

The result buffer is overwritten by the subsequent ns_name_ntop call.

Thanks,
Florian

Patch hide | download patch | download mbox

diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c
index 45f7f18..fd8c565 100644
--- a/resolv/nss_dns/dns-network.c
+++ b/resolv/nss_dns/dns-network.c
@@ -324,11 +324,8 @@  getanswer_r (const querybuf *answer, int anslen, struct netent *result,
 
   while (--answer_count >= 0 && cp < end_of_message)
     {
-      int n = dn_expand (answer->buf, end_of_message, cp, bp, linebuflen);
-      int type, class;
-
-      n = __ns_name_unpack (answer->buf, end_of_message, cp,
-			    packtmp, sizeof packtmp);
+      int n = __ns_name_unpack (answer->buf, end_of_message, cp,
+				packtmp, sizeof packtmp);
       if (n != -1 && __ns_name_ntop (packtmp, bp, linebuflen) == -1)
 	{
 	  if (errno == EMSGSIZE)
@@ -350,6 +347,7 @@  getanswer_r (const querybuf *answer, int anslen, struct netent *result,
 	  return NSS_STATUS_UNAVAIL;
 	}
 
+      int type, class;
       GETSHORT (type, cp);
       GETSHORT (class, cp);
       cp += INT32SZ;		/* TTL */