The branch main has been updated by dim:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=cd880010c49a5d4ec529f4204d4e88cd27727255

commit cd880010c49a5d4ec529f4204d4e88cd27727255
Author:     Dimitry Andric <[email protected]>
AuthorDate: 2025-12-26 13:37:47 +0000
Commit:     Dimitry Andric <[email protected]>
CommitDate: 2025-12-26 13:37:53 +0000

    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
---
 usr.sbin/pmcannotate/pmcannotate.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/usr.sbin/pmcannotate/pmcannotate.c 
b/usr.sbin/pmcannotate/pmcannotate.c
index 5958ff615e4b..6f3e121b4729 100644
--- a/usr.sbin/pmcannotate/pmcannotate.c
+++ b/usr.sbin/pmcannotate/pmcannotate.c
@@ -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;

Reply via email to