Similarly to commit 807e2b6fce0 for Windows, kindly return a QMP error message instead of crashing the whole process.
Cc: qemu-sta...@nongnu.org Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1594054 Reported-by: Fakhri Zulkifli <mohdfakhrizulki...@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- qga/commands-posix.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 93474ff770..8f127788e6 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -493,7 +493,13 @@ struct GuestFileRead *qmp_guest_file_read(int64_t handle, bool has_count, gfh->state = RW_STATE_NEW; } - buf = g_malloc0(count+1); + buf = g_try_malloc0(count + 1); + if (!buf) { + error_setg(errp, + "failed to allocate sufficient memory " + "to complete the requested service"); + return NULL; + } read_count = fread(buf, 1, count, fh); if (ferror(fh)) { error_setg_errno(errp, errno, "failed to read file"); -- 2.21.1