From 251f556ce1fccee574953ecbc5102821c7c14d7f Mon Sep 17 00:00:00 2001 From: Ian Kent Date: May 22 2012 04:43:57 +0000 Subject: - update patch fix initialization in rpc create_client() (bz821660). --- diff --git a/autofs-5.0.6-fix-initialization-in-rpc-create_client.patch b/autofs-5.0.6-fix-initialization-in-rpc-create_client.patch index 6b1574d..0131132 100644 --- a/autofs-5.0.6-fix-initialization-in-rpc-create_client.patch +++ b/autofs-5.0.6-fix-initialization-in-rpc-create_client.patch @@ -2,20 +2,29 @@ autofs-5.0.6 - fix initialization in rpc create_client() From: Ian Kent -Sometimes the RPC function create_client() function gets a -non-null stack variable passed in which can cause a SEGV. -Fix it by initializing the passed in variable. +Sometimes the RPC function create_client() gets a non-null stack +variable passed in which can cause a SEGV. Fix it by initializing +the passed in variable. --- - lib/rpc_subs.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) + CHANGELOG | 1 + + lib/rpc_subs.c | 11 ++++++++--- + 2 files changed, 9 insertions(+), 3 deletions(-) -diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c -index f051e43..85796d1 100644 ---- a/lib/rpc_subs.c -+++ b/lib/rpc_subs.c -@@ -316,6 +316,7 @@ static int create_client(struct conn_info *info, CLIENT **client) +--- autofs-5.0.6.orig/CHANGELOG ++++ autofs-5.0.6/CHANGELOG +@@ -40,6 +40,7 @@ + - fix sss wildcard match. + - fix dlopen() error handling in sss module. + - fix configure string length tests for sss library. ++- fix initialization in rpc create_client(). + + 28/06/2011 autofs-5.0.6 + ----------------------- +--- autofs-5.0.6.orig/lib/rpc_subs.c ++++ autofs-5.0.6/lib/rpc_subs.c +@@ -316,6 +316,7 @@ static int create_client(struct conn_inf int fd, ret; fd = RPC_ANYSOCK; @@ -23,7 +32,19 @@ index f051e43..85796d1 100644 if (info->client) { if (!clnt_control(info->client, CLGET_FD, (char *) &fd)) { -@@ -377,12 +378,13 @@ static int create_client(struct conn_info *info, CLIENT **client) +@@ -344,7 +345,10 @@ static int create_client(struct conn_inf + memset(&hints, 0, sizeof(hints)); + hints.ai_flags = AI_ADDRCONFIG; + hints.ai_family = AF_UNSPEC; +- hints.ai_socktype = SOCK_DGRAM; ++ if (info->proto->p_proto == IPPROTO_UDP) ++ hints.ai_socktype = SOCK_DGRAM; ++ else ++ hints.ai_socktype = SOCK_STREAM; + + ret = getaddrinfo(info->host, NULL, &hints, &ai); + if (ret) { +@@ -377,12 +381,13 @@ static int create_client(struct conn_inf freeaddrinfo(ai); @@ -38,3 +59,12 @@ index f051e43..85796d1 100644 /* Close socket fd on destroy, as is default for rpcowned fds */ if (!clnt_control(*client, CLSET_FD_CLOSE, NULL)) { clnt_destroy(*client); +@@ -800,7 +805,7 @@ static int rpc_get_exports_proto(struct + (xdrproc_t) xdr_void, NULL, + (xdrproc_t) xdr_exports, (caddr_t) exp, + info->timeout); +- if (status != RPC_PROGVERSMISMATCH) ++ if (status == RPC_SUCCESS) + break; + if (++vers_entry > 2) + break; diff --git a/autofs.spec b/autofs.spec index 340ca30..11da9bf 100644 --- a/autofs.spec +++ b/autofs.spec @@ -8,7 +8,7 @@ Summary: A tool for automatically mounting and unmounting filesystems Name: autofs Version: 5.0.6 -Release: 17%{?dist} +Release: 18%{?dist} Epoch: 1 License: GPLv2+ Group: System Environment/Daemons @@ -261,6 +261,11 @@ fi %dir /etc/auto.master.d %changelog +* Tue May 22 2012 Ian Kent - 1:5.0.6-18 +- [abrt] autofs-5.0.6-16.fc17: clnt_dg_control: + Process /usr/sbin/automount was killed by signal 11 (SIGSEGV) + - update patch fix initialization in rpc create_client() (bz821660). + * Wed May 16 2012 Ian Kent - 1:5.0.6-17 - [abrt] autofs-5.0.6-16.fc17: clnt_dg_control: Process /usr/sbin/automount was killed by signal 11 (SIGSEGV)