This series blew up in my face when Hanna first pointed me to https://gitlab.com/qemu-project/qemu/-/issues/1629
Basically, 'qemu-img dd bs=9.9e999' killed a sanitized build because of a read-out-of-bounds (".9e999" parses as infinity, but qemu_strtosz wasn't expecting ERANGE failure). The overall diffstate is big, mainly because the unit tests needed a LOT of work before I felt comfortable tweaking semantics in something that is so essential to command-line and QMP parsing. Eric Blake (11): test-cutils: Avoid g_assert in unit tests test-cutils: Use g_assert_cmpuint where appropriate test-cutils: Test integral qemu_strto* value on failures test-cutils: Add coverage of qemu_strtod test-cutils: Prepare for upcoming semantic change in qemu_strtosz test-cutils: Add more coverage to qemu_strtosz numa: Check for qemu_strtosz_MiB error cutils: Set value in all qemu_strtosz* error paths cutils: Set value in all integral qemu_strto* error paths cutils: Improve qemu_strtod* error paths cutils: Improve qemu_strtosz handling of fractions hw/core/numa.c | 11 +- tests/unit/test-cutils.c | 1213 ++++++++++++++++++++++++++++++-------- util/cutils.c | 180 ++++-- 3 files changed, 1090 insertions(+), 314 deletions(-) base-commit: 792f77f376adef944f9a03e601f6ad90c2f891b2 -- 2.40.1