--- tools/virsh.c | 23 +++++++++++++++++------ 1 files changed, 17 insertions(+), 6 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 19e3449..99da054 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -2052,7 +2052,7 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd) virDomainInfo info; virDomainPtr dom; virSecurityModel secmodel; - virSecurityLabel seclabel; + virSecurityLabelPtr seclabel; int persistent = 0; int ret = TRUE, autostart; unsigned int id; @@ -2138,15 +2138,22 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, "%-15s %s\n", _("Security DOI:"), secmodel.doi); /* Security labels are only valid for active domains */ - memset(&seclabel, 0, sizeof seclabel); - if (virDomainGetSecurityLabel(dom, &seclabel) == -1) { + if (VIR_ALLOC(seclabel) < 0) { virDomainFree(dom); return FALSE; + } + + if (virDomainGetSecurityLabel(dom, seclabel) == -1) { + virDomainFree(dom); + VIR_FREE(seclabel); + return FALSE; } else { - if (seclabel.label[0] != '\0') + if (seclabel->label[0] != '\0') vshPrint(ctl, "%-15s %s (%s)\n", _("Security label:"), - seclabel.label, seclabel.enforcing ? "enforcing" : "permissive"); + seclabel->label, seclabel->enforcing ? "enforcing" : "permissive"); } + + VIR_FREE(seclabel); } } virDomainFree(dom); @@ -12141,7 +12148,7 @@ vshOpenLogFile(vshControl *ctl) static void vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list ap) { - char msg_buf[MSG_BUFFER]; + char *msg_buf; const char *lvl = ""; struct timeval stTimeval; struct tm *stTm; @@ -12149,6 +12156,8 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list if (ctl->log_fd == -1) return; + msg_buf = vshMalloc(ctl, MSG_BUFFER); + /** * create log format * @@ -12199,6 +12208,8 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list vshCloseLogFile(ctl); vshError(ctl, "%s", _("failed to write the log file")); } + + VIR_FREE(msg_buf); } /** -- 1.7.0.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list