libctf: fix testsuite bugs revealed by -Wall

Most of these are harmless, but some of the type confusions and especially
a missing ctf_strerror() on an error path were actual bugs that could
have resulted in test failures crashing rather than printing an error
message.

libctf/
	* testsuite/libctf-lookup/enumerator-iteration.c: Fix type
        confusion, signedness confusion and a missing ctf_errmsg().
	* testsuite/libctf-regression/libctf-repeat-cu-main.c: Return 0 from
        the test function.
	* testsuite/libctf-regression/open-error-free.c: Fix signedness
        confusion.
	* testsuite/libctf-regression/zrewrite.c: Remove unused label.
This commit is contained in:
Nick Alcock 2024-06-19 14:06:26 +01:00
parent ea4e03c0a9
commit b84ffc176d
No known key found for this signature in database
4 changed files with 9 additions and 13 deletions

View File

@ -23,8 +23,8 @@ print_constants (ctf_archive_t *ctf, const char *name)
{ {
char *foo; char *foo;
printf ("%s in %s has value %i\n", name, printf ("%s in %s has value %li\n", name,
foo = ctf_type_aname (fp, type), val); foo = ctf_type_aname (fp, type), (long int) val);
free (foo); free (foo);
ctf_dict_close (fp); ctf_dict_close (fp);
@ -44,7 +44,6 @@ main (int argc, char *argv[])
int err; int err;
ctf_id_t type; ctf_id_t type;
ctf_next_t *i = NULL; ctf_next_t *i = NULL;
const char *name;
int64_t val; int64_t val;
int counter = 0; int counter = 0;
@ -71,8 +70,8 @@ main (int argc, char *argv[])
{ {
char *foo; char *foo;
printf ("IENUMSAMPLE2_2 in %s has value %i\n", printf ("IENUMSAMPLE2_2 in %s has value %li\n",
foo = ctf_type_aname (fp, type), val); foo = ctf_type_aname (fp, type), (long int) val);
free (foo); free (foo);
if ((type = ctf_add_enum (fp, CTF_ADD_ROOT, "ie3")) == CTF_ERR) if ((type = ctf_add_enum (fp, CTF_ADD_ROOT, "ie3")) == CTF_ERR)
@ -117,13 +116,13 @@ main (int argc, char *argv[])
if (type != CTF_ERR) if (type != CTF_ERR)
{ {
char *foo; char *foo;
printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %i in %s\n", printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %li in %s\n",
val, foo = ctf_type_aname (fp, type)); (long int) val, foo = ctf_type_aname (fp, type));
free (foo); free (foo);
} }
else else
printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %s\n", printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %s\n",
ctf_errno (fp)); ctf_errmsg (ctf_errno (fp)));
} }
ctf_dict_close (fp); ctf_dict_close (fp);

View File

@ -2,4 +2,4 @@ typedef short ret_t;
int a (void); int a (void);
int b (void); int b (void);
int c (void); int c (void);
int blah (void) { a(); b(); c(); } int blah (void) { a(); b(); c(); return 0; }

View File

@ -143,7 +143,7 @@ int main (void)
failure after we corrupt it: the leak is only observable if the dict gets failure after we corrupt it: the leak is only observable if the dict gets
malloced, which only happens after that point.) */ malloced, which only happens after that point.) */
if ((written = ctf_write_mem (fp, &written_size, (size_t) -1)) == NULL) if ((written = (char *) ctf_write_mem (fp, &written_size, (size_t) -1)) == NULL)
goto write_err; goto write_err;
ctf_dict_close (fp); ctf_dict_close (fp);

View File

@ -150,7 +150,4 @@ main (int argc, char *argv[])
write_stderr: write_stderr:
fprintf (stderr, "%s: cannot open for writing: %s\n", argv[0], strerror (errno)); fprintf (stderr, "%s: cannot open for writing: %s\n", argv[0], strerror (errno));
return 1; return 1;
read_err:
fprintf (stderr, "%s: cannot read\n", argv[0]);
return 1;
} }