0003-libs-light-fix-tv_sec-printf-format.patch 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. From a8ac01aa3e3ea5e6a9a1620aa8fa7e9da3458120 Mon Sep 17 00:00:00 2001
  2. From: Manuel Bouyer <bouyer@netbsd.org>
  3. Date: Tue, 26 Jan 2021 23:47:55 +0100
  4. Subject: [PATCH] libs/light: fix tv_sec printf format
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits.
  9. Use %jd and cast to (intmax_t) instead
  10. Signed-off-by: Manuel Bouyer <bouyer@netbsd.org>
  11. Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
  12. [Retrieved (and backported) from:
  13. https://gitlab.com/xen-project/xen/-/commit/a8ac01aa3e3ea5e6a9a1620aa8fa7e9da3458120]
  14. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  15. ---
  16. tools/libs/light/libxl_create.c | 8 ++++----
  17. 1 file changed, 4 insertions(+), 4 deletions(-)
  18. diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
  19. index 8616113e72..9848d65f36 100644
  20. --- a/tools/libxl/libxl_create.c
  21. +++ b/tools/libxl/libxl_create.c
  22. @@ -496,7 +496,7 @@ int libxl__domain_build(libxl__gc *gc,
  23. vments[2] = "image/ostype";
  24. vments[3] = "hvm";
  25. vments[4] = "start_time";
  26. - vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
  27. + vments[5] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
  28. localents = libxl__calloc(gc, 13, sizeof(char *));
  29. i = 0;
  30. @@ -535,7 +535,7 @@ int libxl__domain_build(libxl__gc *gc,
  31. vments[i++] = "image/kernel";
  32. vments[i++] = (char *) state->pv_kernel.path;
  33. vments[i++] = "start_time";
  34. - vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
  35. + vments[i++] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
  36. if (state->pv_ramdisk.path) {
  37. vments[i++] = "image/ramdisk";
  38. vments[i++] = (char *) state->pv_ramdisk.path;
  39. @@ -1502,7 +1502,7 @@ static void domcreate_stream_done(libxl__egc *egc,
  40. vments[2] = "image/ostype";
  41. vments[3] = "hvm";
  42. vments[4] = "start_time";
  43. - vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
  44. + vments[5] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
  45. break;
  46. case LIBXL_DOMAIN_TYPE_PV:
  47. vments = libxl__calloc(gc, 11, sizeof(char *));
  48. @@ -1512,7 +1512,7 @@ static void domcreate_stream_done(libxl__egc *egc,
  49. vments[i++] = "image/kernel";
  50. vments[i++] = (char *) state->pv_kernel.path;
  51. vments[i++] = "start_time";
  52. - vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
  53. + vments[i++] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
  54. if (state->pv_ramdisk.path) {
  55. vments[i++] = "image/ramdisk";
  56. vments[i++] = (char *) state->pv_ramdisk.path;
  57. --
  58. GitLab