[2/3] libctf: explicitly cast more size_t types used in printf()s

Message ID 20190606202232.711-2-nick.alcock@oracle.com
State New
Headers show
Series
  • [1/3] libctf: mark various args as unused in the !HAVE_MMAP case
Related show

Commit Message

Nick Alcock June 6, 2019, 8:22 p.m.
Unsigned long will always be adequate (the only cases involving an
ssize_t are cases in which no error can be generated, or in which
negative output would require a seriously corrupted file: the latter has
been rewritten on a branch in any case).

Tested on x86_64-pc-linux-gnu, x86_64-unknown-freebsd12.0,
sparc-sun-solaris2.11, i686-pc-cygwin, i686-w64-mingw32.

libctf/
	* ctf-dump.c (ctf_dump_format_type): Cast size_t's used in printf()s.
	(ctf_dump_objts): Likewise.
	(ctf_dump_funcs): Likewise.
	(ctf_dump_member): Likewise.
	(ctf_dump_str): Likewise.
---
 libctf/ctf-dump.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

-- 
2.21.0.237.gd0cfaa883d

Patch

diff --git a/libctf/ctf-dump.c b/libctf/ctf-dump.c
index 82f63c29d0..3dac435eba 100644
--- a/libctf/ctf-dump.c
+++ b/libctf/ctf-dump.c
@@ -122,7 +122,8 @@  ctf_dump_format_type (ctf_file_t *fp, ctf_id_t id)
       else
 	{
 	  if (asprintf (&bit, " %lx: %s (size %lx)", id, buf[0] == '\0' ?
-			"(nameless)" : buf, ctf_type_size (fp, id)) < 0)
+			"(nameless)" : buf,
+			(unsigned long) ctf_type_size (fp, id)) < 0)
 	    goto oom;
 	}
       free (buf);
@@ -211,12 +212,12 @@  ctf_dump_objts (ctf_file_t *fp, ctf_dump_state_t *state)
       sym_name = ctf_lookup_symbol_name (fp, i);
       if (sym_name[0] == '\0')
 	{
-	  if (asprintf (&str, "%lx -> ", i) < 0)
+	  if (asprintf (&str, "%lx -> ", (unsigned long) i) < 0)
 	    return (ctf_set_errno (fp, ENOMEM));
 	}
       else
 	{
-	  if (asprintf (&str, "%s (%lx) -> ", sym_name, i) < 0)
+	  if (asprintf (&str, "%s (%lx) -> ", sym_name, (unsigned long) i) < 0)
 	    return (ctf_set_errno (fp, ENOMEM));
 	}
 
@@ -279,12 +280,12 @@  ctf_dump_funcs (ctf_file_t *fp, ctf_dump_state_t *state)
       sym_name = ctf_lookup_symbol_name (fp, i);
       if (sym_name[0] == '\0')
 	{
-	  if (asprintf (&bit, "%lx ", i) < 0)
+	  if (asprintf (&bit, "%lx ", (unsigned long) i) < 0)
 	    goto oom;
 	}
       else
 	{
-	  if (asprintf (&bit, "%s (%lx) ", sym_name, i) < 0)
+	  if (asprintf (&bit, "%s (%lx) ", sym_name, (unsigned long) i) < 0)
 	    goto oom;
 	}
       str = ctf_str_append (str, bit);
@@ -369,7 +370,7 @@  ctf_dump_member (const char *name, ctf_id_t id, unsigned long offset,
 
   if (asprintf (&bit, "    [0x%lx] (ID 0x%lx) (kind %i) %s %s (aligned at 0x%lx",
 		offset, id, ctf_type_kind (state->cdm_fp, id), typestr, name,
-		ctf_type_align (state->cdm_fp, id)) < 0)
+		(unsigned long) ctf_type_align (state->cdm_fp, id)) < 0)
     goto oom;
   *state->cdm_str = ctf_str_append (*state->cdm_str, bit);
   free (typestr);
@@ -440,7 +441,8 @@  ctf_dump_str (ctf_file_t *fp, ctf_dump_state_t *state)
 	 fp->ctf_str[CTF_STRTAB_0].cts_len;)
     {
       char *str;
-      if (asprintf (&str, "%lx: %s", s - fp->ctf_str[CTF_STRTAB_0].cts_strs,
+      if (asprintf (&str, "%lx: %s",
+		    (unsigned long) (s - fp->ctf_str[CTF_STRTAB_0].cts_strs),
 		    s) < 0)
 	return (ctf_set_errno (fp, ENOMEM));
       ctf_dump_append (state, str);