[libvirt] [PATCH 4/7] util: Resolve memory leaks in virLogParse{Output|Filter}
John Ferlan
jferlan at redhat.com
Mon Oct 10 15:42:15 UTC 2016
In both virLogParseOutput and virLogParseFilter, rather than returning
NULL, goto cleanup since it's possible that for each the first condition
passes, but the || condition doesn't and thus we leak memory.
Signed-off-by: John Ferlan <jferlan at redhat.com>
---
src/util/virlog.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/virlog.c b/src/util/virlog.c
index 14ee701..52b0eea 100644
--- a/src/util/virlog.c
+++ b/src/util/virlog.c
@@ -1466,7 +1466,7 @@ virLogParseOutput(const char *src)
if (!(tokens = virStringSplitCount(src, ":", 0, &count)) || count < 2) {
virReportError(VIR_ERR_INVALID_ARG,
_("Malformed format for output '%s'"), src);
- return NULL;
+ goto cleanup;
}
if (virStrToLong_uip(tokens[0], NULL, 10, &prio) < 0 ||
@@ -1575,7 +1575,7 @@ virLogParseFilter(const char *src)
if (!(tokens = virStringSplitCount(src, ":", 0, &count)) || count != 2) {
virReportError(VIR_ERR_INVALID_ARG,
_("Malformed format for filter '%s'"), src);
- return NULL;
+ goto cleanup;
}
if (virStrToLong_uip(tokens[0], NULL, 10, &prio) < 0 ||
--
2.7.4
More information about the libvir-list
mailing list