[lvm-devel] number conversion in lvm
Mikulas Patocka
mpatocka at redhat.com
Fri Jul 12 23:11:41 UTC 2013
Hi
I found some strange code in _get_int_arg in ./tools/lvmcmdline.c:
v = strtol(val, ptr, 10);
if (*ptr == val)
return 0;
av->i_value = (int32_t) v;
av->ui_value = (uint32_t) v;
av->i64_value = (int64_t) v;
av->ui64_value = (uint64_t) v;
It is taking 32-bit long value and then casting it to 64 bits. Should
there be strtoull instead of strtol?
BTW. how is that function supposed to handle integer overflow - it doesn't
seem to do that.
Mikulas
More information about the lvm-devel
mailing list