From: Michal Privoznik Date: Tue, 7 Jul 2020 11:04:48 +0000 (+0200) Subject: virfdstream: Use g_autofree in virFDStreamThreadDoRead() X-Git-Tag: v6.7.0-rc1~98 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d5cae317eb11ae990e295c9dc967bb708389d75;p=thirdparty%2Flibvirt.git virfdstream: Use g_autofree in virFDStreamThreadDoRead() The buffer that allocated in the virFDStreamThreadDoRead() can be automatically freed, or if saved into the message structure it can be stolen. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- diff --git a/src/util/virfdstream.c b/src/util/virfdstream.c index 1c32be47a9..e29c95690b 100644 --- a/src/util/virfdstream.c +++ b/src/util/virfdstream.c @@ -431,7 +431,7 @@ virFDStreamThreadDoRead(virFDStreamDataPtr fdst, virFDStreamMsgPtr msg = NULL; int inData = 0; long long sectionLen = 0; - char *buf = NULL; + g_autofree char *buf = NULL; ssize_t got; if (sparse && *dataLen == 0) { @@ -483,9 +483,8 @@ virFDStreamThreadDoRead(virFDStreamDataPtr fdst, } msg->type = VIR_FDSTREAM_MSG_TYPE_DATA; - msg->stream.data.buf = buf; + msg->stream.data.buf = g_steal_pointer(&buf); msg->stream.data.len = got; - buf = NULL; if (sparse) *dataLen -= got; } @@ -496,7 +495,6 @@ virFDStreamThreadDoRead(virFDStreamDataPtr fdst, return got; error: - VIR_FREE(buf); virFDStreamMsgFree(msg); return -1; }