The load_image() function is deprecated, as it does not let the caller specify how large the buffer to read the file into is. Instead use load_image_size().
While we are converting this code, add an error-check for read failure. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Message-id: 20181130151712.2312-5-peter.mayd...@linaro.org --- hw/pci/pci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 56b13b3320e..efb5ce196ff 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -2261,7 +2261,11 @@ static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom, pdev->has_rom = true; memory_region_init_rom(&pdev->rom, OBJECT(pdev), name, size, &error_fatal); ptr = memory_region_get_ram_ptr(&pdev->rom); - load_image(path, ptr); + if (load_image_size(path, ptr, size) < 0) { + error_setg(errp, "failed to load romfile \"%s\"", pdev->romfile); + g_free(path); + return; + } g_free(path); if (is_default_rom) { -- 2.19.2