From: Michal Privoznik Date: Thu, 18 Apr 2019 12:03:10 +0000 (+0200) Subject: virBuffer: Try harder to free buffer X-Git-Tag: v5.4.0-rc1~146 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14b74ab625f4cc472e4fa033f3cc4db676be0ba2;p=thirdparty%2Flibvirt.git virBuffer: Try harder to free buffer Currently, the way virBufferFreeAndReset() works is it relies on virBufferContentAndReset() to fetch the buffer content which is then freed. This works as long as there is no bug in virBuffer* implementation (not true apparently). Explicitly call free() over buffer content. Signed-off-by: Michal Privoznik Reviewed-by: Erik Skultety --- diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index b2ae7963a1..ac03b15a61 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -281,9 +281,8 @@ virBufferContentAndReset(virBufferPtr buf) */ void virBufferFreeAndReset(virBufferPtr buf) { - char *str = virBufferContentAndReset(buf); - - VIR_FREE(str); + if (buf) + virBufferSetError(buf, 0); } /**