Blame autofs-5.0.4-clear-rpc-client-on-lookup-fail.patch
|
Ian Kent |
9bf5a1 |
autofs-5.0.4 - clear rpc client on lookup fail
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
From: Ian Kent <raven@themaw.net>
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
If a name lookup failure occurs in create_tcp_client() or create_udp_client()
|
|
Ian Kent |
9bf5a1 |
the client is destoryed and the file descriptor is closed at exit but the rpc
|
|
Ian Kent |
9bf5a1 |
client isn't set to NULL. This leads to a subsequent SEGV when attempting to
|
|
Ian Kent |
9bf5a1 |
use the invalid client.
|
|
Ian Kent |
9bf5a1 |
---
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
CHANGELOG | 1 +
|
|
Ian Kent |
9bf5a1 |
lib/rpc_subs.c | 2 ++
|
|
Ian Kent |
9bf5a1 |
2 files changed, 3 insertions(+), 0 deletions(-)
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
diff --git a/CHANGELOG b/CHANGELOG
|
|
Ian Kent |
9bf5a1 |
index 00b455e..91edd14 100644
|
|
Ian Kent |
9bf5a1 |
--- a/CHANGELOG
|
|
Ian Kent |
9bf5a1 |
+++ b/CHANGELOG
|
|
Ian Kent |
9bf5a1 |
@@ -34,6 +34,7 @@
|
|
Ian Kent |
9bf5a1 |
- fix file map lookup when reading included or nsswitch sources.
|
|
Ian Kent |
9bf5a1 |
- use misc device ioctl interface by default, if available.
|
|
Ian Kent |
9bf5a1 |
- fix call restorecon when misc device file doesn't exist.
|
|
Ian Kent |
9bf5a1 |
+- clear rpc client on lookup fail.
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
4/11/2008 autofs-5.0.4
|
|
Ian Kent |
9bf5a1 |
-----------------------
|
|
Ian Kent |
9bf5a1 |
diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
|
|
Ian Kent |
9bf5a1 |
index a822f1f..d034b29 100644
|
|
Ian Kent |
9bf5a1 |
--- a/lib/rpc_subs.c
|
|
Ian Kent |
9bf5a1 |
+++ b/lib/rpc_subs.c
|
|
Ian Kent |
9bf5a1 |
@@ -346,6 +346,7 @@ static CLIENT *create_udp_client(struct conn_info *info)
|
|
Ian Kent |
9bf5a1 |
if (ret) {
|
|
Ian Kent |
9bf5a1 |
error(LOGOPT_ANY,
|
|
Ian Kent |
9bf5a1 |
"hostname lookup failed: %s", gai_strerror(ret));
|
|
Ian Kent |
9bf5a1 |
+ info->client = NULL;
|
|
Ian Kent |
9bf5a1 |
goto out_close;
|
|
Ian Kent |
9bf5a1 |
}
|
|
Ian Kent |
9bf5a1 |
|
|
Ian Kent |
9bf5a1 |
@@ -470,6 +471,7 @@ static CLIENT *create_tcp_client(struct conn_info *info)
|
|
Ian Kent |
9bf5a1 |
if (ret) {
|
|
Ian Kent |
9bf5a1 |
error(LOGOPT_ANY,
|
|
Ian Kent |
9bf5a1 |
"hostname lookup failed: %s", gai_strerror(ret));
|
|
Ian Kent |
9bf5a1 |
+ info->client = NULL;
|
|
Ian Kent |
9bf5a1 |
goto out_close;
|
|
Ian Kent |
9bf5a1 |
}
|
|
Ian Kent |
9bf5a1 |
|