HomeFreeBSD

pmcannotate: avoid accessing uninitialized local variables

Description

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

(cherry picked from commit cd880010c49a5d4ec529f4204d4e88cd27727255)

Details

Provenance
dimAuthored on Fri, Dec 26, 1:37 PM
Parents
rGecb101967370: Remove debug crutch I accidentally left in
Branches
Unknown
Tags
Unknown