From 9bf5a1c9db2469f10516257534ed6bdbf3218acd Mon Sep 17 00:00:00 2001 From: Ian Kent Date: Mar 30 2009 07:31:14 +0000 Subject: - clear rpc client on lookup fail. --- diff --git a/autofs-5.0.4-clear-rpc-client-on-lookup-fail.patch b/autofs-5.0.4-clear-rpc-client-on-lookup-fail.patch new file mode 100644 index 0000000..bdb9394 --- /dev/null +++ b/autofs-5.0.4-clear-rpc-client-on-lookup-fail.patch @@ -0,0 +1,47 @@ +autofs-5.0.4 - clear rpc client on lookup fail + +From: Ian Kent + +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; + } + diff --git a/autofs.spec b/autofs.spec index 5d3ac77..44ef741 100644 --- a/autofs.spec +++ b/autofs.spec @@ -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 - 1:5.0.4-24 +- clear rpc client on lookup fail. + * Fri Mar 20 2009 Ian Kent - 1:5.0.4-23 - fix call restorecon when misc device file doesn't exist.