提交 36deff04 编写于 作者: M Matthias Bolte

virsh: Remove two 4kb stack allocations

上级 a16de359
......@@ -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);
}
/**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册