Bug path

‘test_6’: events 1-2
47char test_6 (FILE *logfile)
^~~~~~
|
(1) entry to ‘test_6’
48{
49 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’: events 3-4
42static char *called_by_test_6 (void)
^~~~~~~~~~~~~~~~
|
(3) entry to ‘called_by_test_6’
43{
44 return getpass (">"); /* { dg-message "sensitive value acquired here" } */
~~~~~~~~~~~~~
|
(4) sensitive value acquired here
‘test_6’: events 5-6
49 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’
50 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)