This patch set fix three bugs about accessing freed memory and several api abuse.
In qemu, there are serveral places that do not check the return value of fstat()/fopen()/malloc(),etc. Though it is a small probability for the these functions to fail, but it is better to fix them, Or there may be a serious segmentfault. v4 -> v5: util/path: * Use the GLib memory APIs g_malloc/g_strdup/g_realloc which would abort on failure (Thanks for the suggestion of Alex Bennée) slirp: * Again use of g_malloc to replace malloc(based on the review of Alex Bennée) bios-tables-test: * Correct the wrong use of g_assert v3 -> v4: slirp: * Check return value of '*ex_ptr', not 'ex_ptr',also add error message (basedon the review of GongLei) linux-user: * It should call unlock_user_struct() before return (based on the review of Richard Henderson) tests/bios-tables-test: * Remove unnecessary check then return value of fopen() in qtest_init() v2 -> v3: ivshmem: * Change the error message which advised by Levente Kurusa others: * Add six new patches which check the return value of malloc() and fopen(), which may be failed. v1 -> v2: ivshmem: * Modified the log message according to reviewing suggestion of Michael Li Liu (3): tcg: check return value of fopen() block/vvfat: fix setbuf stream parameter may be NULL qtest: check the value returned by fopen() zhanghailiang (7): l2cap: fix access freed memory monitor: fix access freed memory virtio-blk: fix reference a pointer which might be freed ivshmem: check the value returned by fstat() util/path: check return value of malloc() slirp: check return value of malloc() linux-user: check return value of malloc() block/vvfat.c | 5 ++++- hw/block/virtio-blk.c | 5 +++-- hw/bt/l2cap.c | 2 +- hw/misc/ivshmem.c | 6 +++++- linux-user/syscall.c | 4 ++++ monitor.c | 4 +++- slirp/misc.c | 4 ++-- tcg/tcg.c | 4 ++++ tests/bios-tables-test.c | 5 +++++ util/path.c | 6 +++--- 10 files changed, 34 insertions(+), 11 deletions(-) -- 1.7.12.4