When failing to allocate the preallocate buffer, grub_xvasprintf() returns NULL, but does not set grub_errno. Returning NULL is sufficient for a caller to determine there was an error. However, some usages of grub_xvasprintf() check for a NULL return value and then return grub_errno, which could return some previously set error code or potentially even a success code.
Signed-off-by: Glenn Washburn <developm...@efficientek.com> --- grub-core/kern/misc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index b57249acb81b..afb41bd63a6a 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -1232,6 +1232,7 @@ grub_xvasprintf (const char *fmt, va_list ap) if (!ret) { free_printf_args (&args); + grub_error (GRUB_ERR_OUT_OF_MEMORY, "grub_xvasprintf failed to allocate memory of size %" PRIuGRUB_SIZE, as); return NULL; } -- 2.34.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel