Bug path

test_6
‘test_6’: events 1-2
53char test_6 (FILE *logfile)
^~~~~~
|
(1) entry to ‘test_6’
54{
55 char *password = called_by_test_6 (); /* { dg-message "returning sensitive value to 'test_6' from 'called_by_test_6'" } */
~~~~~~~~~~~~~~~~~~~
|
(2) calling ‘called_by_test_6’ from ‘test_6’
called_by_test_6
‘called_by_test_6’: events 3-4
48static char *called_by_test_6 (void)
^~~~~~~~~~~~~~~~
|
(3) entry to ‘called_by_test_6’
49{
50 return getpass (">"); /* { dg-message "sensitive value acquired here" } */
~~~~~~~~~~~~~
|
(4) sensitive value acquired here
‘test_6’: events 5-6
55 char *password = called_by_test_6 (); /* { dg-message "returning sensitive value to 'test_6' from 'called_by_test_6'" } */
^~~~~~~~~~~~~~~~~~~
|
(5) returning sensitive value to ‘test_6’ from ‘called_by_test_6’
56 printf ("%s", password); /* { dg-warning "sensitive value 'password' written to output file \\\[CWE-532\\\]" } */
~~~~~~~~~~~~~~~~~~~~~~~
|
(6) sensitive value ‘password’ written to output file; acquired at (4)