summaryrefslogtreecommitdiffstats
path: root/qemu-deprecated.texi
diff options
context:
space:
mode:
authorMarkus Armbruster2019-12-04 10:36:14 +0100
committerMarkus Armbruster2019-12-18 08:36:15 +0100
commitbc0e339b01b330c55532571ae6fce89b0f8a4a96 (patch)
treeb46fbe66d2f58fcdc48a4a5da1718c51742948f4 /qemu-deprecated.texi
parenthw/acpi: Fix legacy CPU plug error API violations (diff)
downloadqemu-bc0e339b01b330c55532571ae6fce89b0f8a4a96.tar.gz
qemu-bc0e339b01b330c55532571ae6fce89b0f8a4a96.tar.xz
qemu-bc0e339b01b330c55532571ae6fce89b0f8a4a96.zip
hw/core: Fix fit_load_fdt() error API violations
fit_load_fdt() passes @errp to fit_image_addr(), then recovers from ENOENT failures. Passing @errp is wrong, because it works only as long as @errp is neither @error_fatal nor @error_abort. Error recovery dereferences @errp. That's also wrong; see the big comment in error.h. Error recovery can leave *errp pointing to a freed Error object. Wrong, it must be null on success. Messed up in commit 3eb99edb48 "loader-fit: Wean off error_printf()". No caller actually passes such values, or uses *errp on success. Fix anyway: splice in a local Error *err, and error_propagate(). Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20191204093625.14836-8-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Diffstat (limited to 'qemu-deprecated.texi')
0 files changed, 0 insertions, 0 deletions