Missing g_error_free on error path in ga_channel_write_all(). Fix that. Reported-by: Euler Robot <euler.ro...@huawei.com> Signed-off-by: Pan Nengyuan <pannengy...@huawei.com> Reviewed-by: Li Qiang <liq...@gmail.com> --- Cc: Michael Roth <mdr...@linux.vnet.ibm.com> --- - V2: no changes in v2 --- qga/channel-posix.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/qga/channel-posix.c b/qga/channel-posix.c index 8fc205ad21..0b151cb87b 100644 --- a/qga/channel-posix.c +++ b/qga/channel-posix.c @@ -249,7 +249,7 @@ GIOStatus ga_channel_write_all(GAChannel *c, const gchar *buf, gsize size) buf += written; } else if (status != G_IO_STATUS_AGAIN) { g_warning("error writing to channel: %s", err->message); - return status; + goto out; } } @@ -261,6 +261,10 @@ GIOStatus ga_channel_write_all(GAChannel *c, const gchar *buf, gsize size) g_warning("error flushing channel: %s", err->message); } +out: + if (err) { + g_error_free(err); + } return status; } -- 2.18.2