Message ID | 20230508200343.791450-1-eblake@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Fix qemu_strtosz() read-out-of-bounds | expand |
On 08.05.23 22:03, Eric Blake wrote: > 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(-) Patches 1 – 5, 7 – 10: Reviewed-by: Hanna Czenczek <hreitz@redhat.com>