Message ID | 20190225181644.10262-1-kilobyte@angband.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [resend,1/2] btrfs-progs: fix kernel version parsing on some versions past 3.0 | expand |
On Mon, Feb 25, 2019 at 07:16:43PM +0100, Adam Borowski wrote: > 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 <kilobyte@angband.pl> Applied, thanks.
diff --git a/fsfeatures.c b/fsfeatures.c index 13ad0308..68653739 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; }
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 <kilobyte@angband.pl> --- fsfeatures.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)