0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. From 7f11bde3143b21b40d8225ea1d641e0f83b5a01e Mon Sep 17 00:00:00 2001
  2. From: Thomas Frauendorfer | Miray Software <tf@miray.de>
  3. Date: Mon, 15 Feb 2021 13:40:16 +0100
  4. Subject: [PATCH] kern/misc: Split parse_printf_args() into format parsing and
  5. va_list handling
  6. This patch is preparing for a follow up patch which will use
  7. the format parsing part to compare the arguments in a printf()
  8. format from an external source against a printf() format with
  9. expected arguments.
  10. Signed-off-by: Thomas Frauendorfer | Miray Software <tf@miray.de>
  11. Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
  12. Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
  13. ---
  14. grub-core/kern/misc.c | 11 +++++++++--
  15. 1 file changed, 9 insertions(+), 2 deletions(-)
  16. diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
  17. index b02693b..50bf3ee 100644
  18. --- a/grub-core/kern/misc.c
  19. +++ b/grub-core/kern/misc.c
  20. @@ -632,8 +632,7 @@ grub_lltoa (char *str, int c, unsigned long long n)
  21. }
  22. static void
  23. -parse_printf_args (const char *fmt0, struct printf_args *args,
  24. - va_list args_in)
  25. +parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
  26. {
  27. const char *fmt;
  28. char c;
  29. @@ -789,6 +788,14 @@ parse_printf_args (const char *fmt0, struct printf_args *args,
  30. break;
  31. }
  32. }
  33. +}
  34. +
  35. +static void
  36. +parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in)
  37. +{
  38. + grub_size_t n;
  39. +
  40. + parse_printf_arg_fmt (fmt0, args);
  41. for (n = 0; n < args->count; n++)
  42. switch (args->ptr[n].type)
  43. --
  44. 2.14.2