summaryrefslogtreecommitdiffstats
path: root/hw/mips/boston.c
diff options
context:
space:
mode:
authorPeter Maydell2020-11-09 11:10:49 +0100
committerPeter Maydell2020-11-09 11:10:49 +0100
commit193f51ddcf1d87d725f1dfd51b8a95351c910e8f (patch)
treed06a2bedb0528dbb144c7ab1ab8bca14723b4a04 /hw/mips/boston.c
parentMerge remote-tracking branch 'remotes/cohuck/tags/s390x-20201106' into staging (diff)
parenthw/mips/boston: Fix memory leak in boston_fdt_filter() error-handling paths (diff)
downloadqemu-193f51ddcf1d87d725f1dfd51b8a95351c910e8f.tar.gz
qemu-193f51ddcf1d87d725f1dfd51b8a95351c910e8f.tar.xz
qemu-193f51ddcf1d87d725f1dfd51b8a95351c910e8f.zip
Merge remote-tracking branch 'remotes/philmd-gitlab/tags/mips-fixes-20201109' into staging
MIPS patches queue - Deprecate nanoMIPS ISA - Fix PageMask with variable page size (Huacai Chen) - Fix memory leak in boston_fdt_filter (Coverity CID 1432275, Peter Maydell) CI jobs results: . https://cirrus-ci.com/build/5439131968864256 . https://gitlab.com/philmd/qemu/-/pipelines/213403385 . https://travis-ci.org/github/philmd/qemu/builds/742312387 # gpg: Signature made Sun 08 Nov 2020 23:41:19 GMT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * remotes/philmd-gitlab/tags/mips-fixes-20201109: hw/mips/boston: Fix memory leak in boston_fdt_filter() error-handling paths target/mips: Fix PageMask with variable page size target/mips: Deprecate nanoMIPS ISA Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/mips/boston.c')
-rw-r--r--hw/mips/boston.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 3356d7a681..3d40867dc4 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -349,11 +349,9 @@ static const void *boston_fdt_filter(void *opaque, const void *fdt_orig,
MachineState *machine = s->mach;
const char *cmdline;
int err;
- void *fdt;
- size_t fdt_sz, ram_low_sz, ram_high_sz;
-
- fdt_sz = fdt_totalsize(fdt_orig) * 2;
- fdt = g_malloc0(fdt_sz);
+ size_t ram_low_sz, ram_high_sz;
+ size_t fdt_sz = fdt_totalsize(fdt_orig) * 2;
+ g_autofree void *fdt = g_malloc0(fdt_sz);
err = fdt_open_into(fdt_orig, fdt, fdt_sz);
if (err) {
@@ -380,7 +378,7 @@ static const void *boston_fdt_filter(void *opaque, const void *fdt_orig,
s->fdt_base = *load_addr;
- return fdt;
+ return g_steal_pointer(&fdt);
}
static const void *boston_kernel_filter(void *opaque, const void *kernel,