- clear rpc client on lookup fail.

This commit is contained in:
Ian Kent 2009-03-30 07:31:14 +00:00
parent e332cf2411
commit 9bf5a1c9db
2 changed files with 53 additions and 1 deletions

View File

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

View File

@ -4,7 +4,7 @@
Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs
Version: 5.0.4
Release: 23
Release: 24
Epoch: 1
License: GPLv2+
Group: System Environment/Daemons
@ -44,6 +44,7 @@ Patch31: autofs-5.0.4-add-lsb-init-script-parameter-block.patch
Patch32: autofs-5.0.4-always-read-file-maps-fix.patch
Patch33: autofs-5.0.4-use-misc-device.patch
Patch34: autofs-5.0.4-fix-restorecon.patch
Patch35: autofs-5.0.4-clear-rpc-client-on-lookup-fail.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, libxml2-devel, cyrus-sasl-devel, openssl-devel module-init-tools util-linux nfs-utils e2fsprogs libtirpc-devel
Requires: kernel >= 2.6.17
@ -119,6 +120,7 @@ echo %{version}-%{release} > .version
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%build
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
@ -171,6 +173,9 @@ fi
%{_libdir}/autofs/
%changelog
* Mon Mar 30 2009 Ian Kent <ikent@redhat.com> - 1:5.0.4-24
- clear rpc client on lookup fail.
* Fri Mar 20 2009 Ian Kent <ikent@redhat.com> - 1:5.0.4-23
- fix call restorecon when misc device file doesn't exist.