提交 018010f0 编写于 作者: P Peter Krempa

vsh: Simplify bailing out on OOM conditions

When we hit OOM it doesn't really make sense to format the error message
by attempting to allocate it. Introduce a simple helper that prints a
static message and terminates the execution.
上级 9cb8b0e5
......@@ -77,6 +77,18 @@ const vshCmdDef *cmdSet;
/* Bypass header poison */
#undef strdup
/* simple handler for oom conditions */
static void
vshErrorOOM(void)
{
fflush(stdout);
fputs(_("error: Out of memory\n"), stderr);
fflush(stderr);
exit(EXIT_FAILURE);
}
double
vshPrettyCapacity(unsigned long long val, const char **unit)
{
......@@ -1700,11 +1712,8 @@ vshPrintExtra(vshControl *ctl, const char *format, ...)
return;
va_start(ap, format);
if (virVasprintf(&str, format, ap) < 0) {
vshError(ctl, "%s", _("Out of memory"));
va_end(ap);
return;
}
if (virVasprintfQuiet(&str, format, ap) < 0)
vshErrorOOM();
va_end(ap);
fputs(str, stdout);
VIR_FREE(str);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册