The code fails if the third section is missing (like "4.18") or is followed
by anything but "." or "-".  This happens for example if we're not exactly
at a tag and CONFIG_LOCALVERSION_AUTO=n (which results in "4.18.5+").

Signed-off-by: Adam Borowski <kilob...@angband.pl>
---
 fsfeatures.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/fsfeatures.c b/fsfeatures.c
index 7d85d60f..66111bf4 100644
--- a/fsfeatures.c
+++ b/fsfeatures.c
@@ -216,11 +216,8 @@ u32 get_running_kernel_version(void)
                return (u32)-1;
        version |= atoi(tmp) << 8;
        tmp = strtok_r(NULL, ".", &saveptr);
-       if (tmp) {
-               if (!string_is_numerical(tmp))
-                       return (u32)-1;
+       if (tmp && string_is_numerical(tmp))
                version |= atoi(tmp);
-       }
 
        return version;
 }
-- 
2.19.0.rc1

Reply via email to