Blob Blame History Raw
autofs-5.0.6 - fix function to check mount.nfs version

From: Leonardo Chiquitto <leonardo.lists@gmail.com>

The function check_nfs_mount_version() compares the version
of mount.nfs to decide whether a feature is available or not.

There's a bug in the version comparison code that causes
1.3.0 to be considered less than 1.1.1. This patch fixes it.
---

 CHANGELOG    |    1 +
 lib/mounts.c |   17 +++++------------
 2 files changed, 6 insertions(+), 12 deletions(-)


--- autofs-5.0.6.orig/CHANGELOG
+++ autofs-5.0.6/CHANGELOG
@@ -31,6 +31,7 @@
 - catch EHOSTUNREACH and bail out early.
 - systemd support fixes.
 - check scandir() return value.
+- fix function to check mount.nfs version.
 
 28/06/2011 autofs-5.0.6
 -----------------------
--- autofs-5.0.6.orig/lib/mounts.c
+++ autofs-5.0.6/lib/mounts.c
@@ -249,18 +249,11 @@ int check_nfs_mount_version(struct nfs_m
 	}
 
 	if (ret) {
-		if (vers->major == check->major &&
-		    vers->minor == check->minor &&
-		    vers->fix == check->fix)
-			;
-		else {
-			if (vers->major < check->major)
-				ret = 0;
-			else if (vers->minor < check->minor)
-				ret = 0;
-			else if (vers->fix < check->fix)
-				ret = 0;
-		}
+		if ((vers->major < check->major) ||
+		    ((vers->major == check->major) && (vers->minor < check->minor)) ||
+		    ((vers->major == check->major) && (vers->minor == check->minor) &&
+		     (vers->fix < check->fix)))
+			ret = 0;
 	}
 
 	if (waitpid(f, &status, 0) != f) ;