mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
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.
This commit is contained in:
parent
9cb8b0e5a4
commit
018010f05c
19
tools/vsh.c
19
tools/vsh.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user