diff --git a/WHATS_NEW b/WHATS_NEW index df893ae32..0b53a9e40 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.101 - =================================== + Use strtoull instead of strtol in _get_int_arg. Add devtypes report command to display built-in recognised block device types. Fix CC Makefile override which had reverted to using built-in value. (2.02.75) Recognise bcache block devices in filter (experimental). diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c index 116e963f7..e004f6193 100644 --- a/tools/lvmcmdline.c +++ b/tools/lvmcmdline.c @@ -241,7 +241,7 @@ int metadatatype_arg(struct cmd_context *cmd, struct arg_values *av) static int _get_int_arg(struct arg_values *av, char **ptr) { char *val; - long v; + unsigned long long v; av->percent = PERCENT_NONE; @@ -262,9 +262,10 @@ static int _get_int_arg(struct arg_values *av, char **ptr) if (!isdigit(*val)) return 0; - v = strtol(val, ptr, 10); + errno = 0; + v = strtoull(val, ptr, 10); - if (*ptr == val) + if (*ptr == val || errno) return 0; av->i_value = (int32_t) v;