-
- Downloads
Check memunit parsing for overflow in confparse
Before, when parsing memunits, if overflow occured it failed silently. Use nowrap u64 math to detect overflow, compare to INT64_MAX and if greater tell user and fail accordingly. 15000000.5 TB fails double check as it a greater floating number than (double)INT64_MAX 8388608.1 TB passes double check because it falls in the same value as (double)INT64_MAX (which is 2^63), but will fail the int check because (uint64_t)d, which is 2^63, is strictly greater than 2^63-1 (INT64_MAX). Fixes #30920 Signed-off-by:José M. Guisado <guigom@riseup.net>
Showing
- changes/ticket30920 3 additions, 0 deletionschanges/ticket30920
- src/lib/confmgt/.may_include 1 addition, 0 deletionssrc/lib/confmgt/.may_include
- src/lib/confmgt/unitparse.c 31 additions, 4 deletionssrc/lib/confmgt/unitparse.c
- src/test/test_confparse.c 14 additions, 3 deletionssrc/test/test_confparse.c
Loading
Please register or sign in to comment