mirror of https://github.com/xemu-project/xemu.git
![]() It's OK and expected for visitors to return errors when presented with the fuzz test's random data. Since the fuzzer doesn't care about errors, we pass in NULL rather than an Error**. This fixes a bug in the fuzzer where it was passing the same Error** into each visitor, with the effect that once one visitor returned an error, each later visitor would notice that it had been passed in an Error** representing an already set error, and do nothing. For the case of visit_type_str() we also need to handle the case where an error means that the visitor doesn't set our char*. We initialize the pointer to NULL so we can safely g_free() it regardless of whether the visitor allocated a string for us or not. This fixes a problem where this test failed the MacOSX malloc() consistency checks and might segfault on other platforms [due to calling free() on an uninitialized pointer variable when visit_type_str() failed.]. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> |
||
---|---|---|
.. | ||
qemu-iotests | ||
tcg | ||
.gitignore | ||
Makefile | ||
check-block.sh | ||
check-qdict.c | ||
check-qfloat.c | ||
check-qint.c | ||
check-qjson.c | ||
check-qlist.c | ||
check-qstring.c | ||
fdc-test.c | ||
hd-geo-test.c | ||
libi2c-omap.c | ||
libi2c.c | ||
libi2c.h | ||
libqtest.c | ||
libqtest.h | ||
m48t59-test.c | ||
qemu-iotests-quick.sh | ||
rtc-test.c | ||
test-aio.c | ||
test-coroutine.c | ||
test-cutils.c | ||
test-hbitmap.c | ||
test-iov.c | ||
test-qmp-commands.c | ||
test-qmp-input-strict.c | ||
test-qmp-input-visitor.c | ||
test-qmp-output-visitor.c | ||
test-string-input-visitor.c | ||
test-string-output-visitor.c | ||
test-thread-pool.c | ||
test-visitor-serialization.c | ||
test-x86-cpuid.c | ||
test-xbzrle.c | ||
tmp105-test.c |