summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2014-05-26 18:01:31 +0200
committerAndreas Schwab <schwab@suse.de>2014-06-03 18:03:39 +0200
commitf9d2d03254a58d92635a311a42253eeed5a40a47 (patch)
tree26330e7027914a476f723efe2b169b4dbf994448
parent71840409ea45ab9e49d0ac70dfc1c355accf355f (diff)
downloadglibc-f9d2d03254a58d92635a311a42253eeed5a40a47.tar.gz
Fix invalid file descriptor reuse while sending DNS query (BZ #15946)
-rw-r--r--ChangeLog6
-rw-r--r--NEWS20
-rw-r--r--resolv/res_send.c1
3 files changed, 17 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index aa71a3731f..63fe9153a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-06-03 Andreas Schwab <schwab@suse.de>
+
+ [BZ #15946]
+ * resolv/res_send.c (send_dg): Reload file descriptor after
+ calling reopen.
+
2014-06-03 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/s390/fpu/libm-test-ulps: Regenerate.
diff --git a/NEWS b/NEWS
index f6ace19d5f..38d2c50ce9 100644
--- a/NEWS
+++ b/NEWS
@@ -10,16 +10,16 @@ Version 2.20
* The following bugs are resolved with this release:
6804, 9894, 12994, 13347, 13651, 14308, 14770, 15119, 15132, 15347, 15514,
- 15804, 15894, 16002, 16064, 16198, 16284, 16348, 16349, 16357, 16362,
- 16447, 16516, 16532, 16545, 16564, 16574, 16599, 16600, 16609, 16610,
- 16611, 16613, 16619, 16623, 16629, 16632, 16634, 16639, 16642, 16648,
- 16649, 16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706,
- 16707, 16712, 16713, 16714, 16724, 16731, 16739, 16740, 16743, 16754,
- 16758, 16759, 16760, 16770, 16786, 16789, 16791, 16796, 16799, 16800,
- 16815, 16823, 16824, 16831, 16838, 16849, 16854, 16876, 16877, 16878,
- 16885, 16888, 16890, 16912, 16915, 16916, 16917, 16922, 16927, 16928,
- 16932, 16943, 16958, 16966, 16967, 16965, 16977, 16978, 16984, 16990,
- 17009.
+ 15804, 15894, 15946, 16002, 16064, 16198, 16284, 16348, 16349, 16357,
+ 16362, 16447, 16516, 16532, 16545, 16564, 16574, 16599, 16600, 16609,
+ 16610, 16611, 16613, 16619, 16623, 16629, 16632, 16634, 16639, 16642,
+ 16648, 16649, 16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701,
+ 16706, 16707, 16712, 16713, 16714, 16724, 16731, 16739, 16740, 16743,
+ 16754, 16758, 16759, 16760, 16770, 16786, 16789, 16791, 16796, 16799,
+ 16800, 16815, 16823, 16824, 16831, 16838, 16849, 16854, 16876, 16877,
+ 16878, 16885, 16888, 16890, 16912, 16915, 16916, 16917, 16922, 16927,
+ 16928, 16932, 16943, 16958, 16966, 16967, 16965, 16977, 16978, 16984,
+ 16990, 17009.
* The minimum Linux kernel version that this version of the GNU C Library
can be used with is 2.6.32.
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 3273d55ceb..af42b8aac2 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1410,6 +1410,7 @@ send_dg(res_state statp,
retval = reopen (statp, terrno, ns);
if (retval <= 0)
return retval;
+ pfd[0].fd = EXT(statp).nssocks[ns];
}
}
goto wait;