btrfs-progs: fix kernel version parsing on some versions past 3.0
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> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
33b4acc7df
commit
3da12f3d5f
|
@ -216,11 +216,9 @@ 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;
|
||||
/* Relaxed format accepts eg. 1.2.3+ */
|
||||
if (tmp && string_is_numerical(tmp))
|
||||
version |= atoi(tmp);
|
||||
}
|
||||
|
||||
return version;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue