From e69a85cc2b70c13142b176177290e61c5df18df1 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Tue, 15 Jan 2013 13:12:57 -0500 Subject: [PATCH] tools: Check return status on virBufferTrim() --- tools/virsh.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index eadc519451..669c9c9c98 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -536,6 +536,8 @@ vshTreePrintInternal(vshControl *ctl, /* Finally print all children */ virBufferAddLit(indent, " "); + if (virBufferError(indent)) + goto cleanup; for (i = 0 ; i < num_devices ; i++) { const char *parent = (lookup)(i, true, opaque); @@ -545,15 +547,18 @@ vshTreePrintInternal(vshControl *ctl, false, indent) < 0) goto cleanup; } - virBufferTrim(indent, " ", -1); + if (virBufferTrim(indent, " ", -1) < 0) + goto cleanup; /* If there was no child device, and we're the last in * a list of devices, then print another blank line */ if (nextlastdev == -1 && devid == lastdev) vshPrint(ctl, "%s\n", virBufferCurrentContent(indent)); - if (!root) - virBufferTrim(indent, NULL, 2); + if (!root) { + if (virBufferTrim(indent, NULL, 2) < 0) + goto cleanup; + } ret = 0; cleanup: return ret; -- GitLab