mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
pmcannotate: avoid accessing uninitialized local variables
Initialize `tbfl` and `tofl` to NULL, and check whether they are
non-NULL before calling remove(3) on them, to avoid warnings from clang
21 similar to:
usr.sbin/pmcannotate/pmcannotate.c:746:3: error: variable 'tbfl' is uninitialized when used here [-Werror,-Wuninitialized]
746 | FATAL(exec, "%s: Impossible to locate the binary file\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
747 | exec);
| ~~~~~
usr.sbin/pmcannotate/pmcannotate.c:57:9: note: expanded from macro 'FATAL'
57 | remove(tbfl); \
| ^~~~
usr.sbin/pmcannotate/pmcannotate.c:695:12: note: initialize the variable 'tbfl' to silence this warning
695 | char *tbfl, *tofl, *tmpdir;
| ^
| = NULL
usr.sbin/pmcannotate/pmcannotate.c:746:3: error: variable 'tofl' is uninitialized when used here [-Werror,-Wuninitialized]
746 | FATAL(exec, "%s: Impossible to locate the binary file\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
747 | exec);
| ~~~~~
usr.sbin/pmcannotate/pmcannotate.c:58:9: note: expanded from macro 'FATAL'
58 | remove(tofl); \
| ^~~~
usr.sbin/pmcannotate/pmcannotate.c:695:19: note: initialize the variable 'tofl' to silence this warning
695 | char *tbfl, *tofl, *tmpdir;
| ^
| = NULL
MFC after: 3 days
This commit is contained in:
1 parent
3054e22e45
commit
cd880010c4
1 file changed
+6
-2
@@ -54,8 +54,10 @@
|
||||
if ((ptr) != NULL) \
|
||||
perror(ptr); \
|
||||
fprintf(stderr, ##x); \
|
||||
remove(tbfl); \
|
||||
remove(tofl); \
|
||||
if (tbfl != NULL) \
|
||||
remove(tbfl); \
|
||||
if (tofl != NULL) \
|
||||
remove(tofl); \
|
||||
exit(EXIT_FAILURE); \
|
||||
} while (0)
|
||||
|
||||
@@ -702,6 +704,8 @@ main(int argc, char *argv[])
|
||||
uintptr_t tmppc, ostart, oend;
|
||||
int cget, asmsrc;
|
||||
|
||||
tbfl = NULL;
|
||||
tofl = NULL;
|
||||
exec = argv[0];
|
||||
ofile = NULL;
|
||||
bin = NULL;
|
||||
|
||||
Reference in new issue
Block a user