[autofs/f17] - update patch fix initialization in rpc create_client() (bz821660).

Ian Kent iankent at fedoraproject.org
Tue May 22 04:44:33 UTC 2012


commit 251f556ce1fccee574953ecbc5102821c7c14d7f
Author: Ian Kent <ikent at redhat.com>
Date:   Tue May 22 12:43:57 2012 +0800

    - update patch fix initialization in rpc create_client() (bz821660).

 ...6-fix-initialization-in-rpc-create_client.patch |   52 +++++++++++++++----
 autofs.spec                                        |    7 ++-
 2 files changed, 47 insertions(+), 12 deletions(-)
---
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 <ikent at redhat.com>
 
-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 <ikent at redhat.com> - 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 <ikent at redhat.com> - 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)


More information about the scm-commits mailing list