diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2012-05-04 20:00:41 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2012-05-04 20:00:41 +0000 |
commit | b2c353d874b85e06f355a9419852e2616613c7d0 (patch) | |
tree | f0773e0a930d308198ef5036d4f74e7f53015e6e /core/nfs-utils | |
parent | 0a24fb835cac4007388213ad0afb15257b035b14 (diff) |
Fri May 4 20:00:31 UTC 2012
Diffstat (limited to 'core/nfs-utils')
-rw-r--r-- | core/nfs-utils/kernel-3.0-segfault.patch | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/core/nfs-utils/kernel-3.0-segfault.patch b/core/nfs-utils/kernel-3.0-segfault.patch deleted file mode 100644 index 3dba94a05..000000000 --- a/core/nfs-utils/kernel-3.0-segfault.patch +++ /dev/null @@ -1,53 +0,0 @@ -mount.nfs segfaults if kernel version number does not contain -at least 3 components delimited with a dot. - -Avoid this by matching up to three unsigned integers inialised -to zero, separated by dots. - -A version that does not start with an integer is probably a future -version where the versioning evolved to another scheme. -Return UINT_MAX which is guaranteed to be higher than existing -versions. This would also make it possible to easily identify -versions that do not start with an integer. - -Signed-off-by: Luk Claes <luk@...> ---- - utils/mount/version.h | 16 +++++++++------- - 1 files changed, 9 insertions(+), 7 deletions(-) - -diff --git a/utils/mount/version.h b/utils/mount/version.h -index af61a6f..531cf68 100644 ---- a/utils/mount/version.h -+++ b/utils/mount/version.h -@@ -23,8 +23,8 @@ - #ifndef _NFS_UTILS_MOUNT_VERSION_H - #define _NFS_UTILS_MOUNT_VERSION_H - --#include <stdlib.h> --#include <string.h> -+#include <stdio.h> -+#include <limits.h> - - #include <sys/utsname.h> - -@@ -37,14 +37,16 @@ static inline unsigned int MAKE_VERSION(unsigned int p, unsigned int q, - static inline unsigned int linux_version_code(void) - { - struct utsname my_utsname; -- unsigned int p, q, r; -+ unsigned int p, q = 0, r = 0; - -+ /* UINT_MAX as backward compatibility code should not be run */ - if (uname(&my_utsname)) -- return 0; -+ return UINT_MAX; - -- p = (unsigned int)atoi(strtok(my_utsname.release, ".")); -- q = (unsigned int)atoi(strtok(NULL, ".")); -- r = (unsigned int)atoi(strtok(NULL, ".")); -+ /* UINT_MAX as future versions might not start with an integer */ -+ if (sscanf(my_utsname.release, "%u.%u.%u", &p, &q, &r) < 1) -+ return UINT_MAX; -+ - return MAKE_VERSION(p, q, r); - } |