autofs-5.0.6 - fix get_nfs_info() can incorrectly fail

From: Ian Kent <ikent@redhat.com>

In function get_nfs_info(), if both TCP and UDP protocols are being
checked, the TCP check passes but the UDP check fails, the function
will incorrectly return a fail to the caller.
---

 CHANGELOG            |    1 +
 modules/replicated.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/CHANGELOG b/CHANGELOG
index 6c91f54..70a9ed7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -63,6 +63,7 @@
 - fix devce ioctl alloc path check.
 - add hup signal handling to hosts map.
 - fix systemd argument passing.
+- fix get_nfs_info() can incorrectly fail.
 
 28/06/2011 autofs-5.0.6
 -----------------------
diff --git a/modules/replicated.c b/modules/replicated.c
index 09350c5..10b380d 100644
--- a/modules/replicated.c
+++ b/modules/replicated.c
@@ -769,7 +769,7 @@ static int get_vers_and_cost(unsigned logopt, struct host *host,
 		supported = get_nfs_info(logopt, host,
 				   &pm_info, &rpc_info, "udp", vers, options);
 		if (IS_ERR(supported)) {
-			if (ERR(supported) == ETIMEDOUT)
+			if (!ret && ERR(supported) == ETIMEDOUT)
 				return ret;
 		} else if (supported) {
 			ret = 1;