<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58980>58980</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
CSA seems not to model printf
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Geoffrey1014
</td>
</tr>
</table>
<pre>
```c
#include <stdio.h>
void main() {
int a = 1;
int *b;
for (; a; a--)
printf("NPD_FLAG\n") || *b;
}
```
Compiling it with `--analyze --analyzer-output text -Xclang -analyzer-config -Xclang widen-loops=true` resutl in:
```bash
<source>:6:29: warning: Dereference of undefined pointer value (loaded from variable 'b') [core.NullDereference]
printf("NPD_FLAG\n") || *b;
^~
<source>:4:3: note: 'b' declared without an initial value
int *b;
^~~~~~
<source>:5:3: note: Loop condition is true. Entering loop body
for (; a; a--)
^
<source>:6:5: note: Assuming the condition is false
printf("NPD_FLAG\n") || *b;
^~~~~~~~~~~~~~~~~~~~
<source>:6:5: note: Left side of '||' is false
<source>:6:29: note: Dereference of undefined pointer value (loaded from variable 'b')
printf("NPD_FLAG\n") || *b;
^~
1 warning generated.
```
It seems that CSA does not model `printf`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9VVFv2jAQ_jXOyykoiQmEhzxQoNWkqpq0l71NTnwBT8ZGttOu-_U7J9BBRatKnYZssO_k7-777mwaK59rNsvG0bJszbIlK7gyre4lAuMrH6Sykx3jm9H7aJWEvVCGFRUrFsDmN6MDQJkAgs6sIWf8wsqKZXNm6qyDeJzfgBi-0pSgTl6Ag6ND3RCgePi6_nF7v7xj5YpCFmPIFY1LUDZfHxcnNuN2ZfcHpZXZggrwpMIOyJWmwgj9_BvhZeVS24dDHyDgrwDp91YLOvPX21rTqe2L40lJNKm29uCJb3A9Eiw49H3QxJjxJbxKpxF-dzSRqLZ3LUZN-XJGk8jTiSfhDGUal2t02NE0LYLtoDcSO2VQwsGSNOjgUegeo4jaCkn2ztk9GZ0SjY72eUNzEKu8aa3DyUOv9RkqK9ef0hve-bByw-abq2SnNHkkaGzAQaUxU5BIwjoiEmtEpQBhSEcVlNAj13fa6RjvfFyLXb6OfU_lAyqspDCWwnmIhZwAbKLEsWdigaGhS_Kxzo2JvFXi8jzy0vt-HwOEHV5m0Ant8dOVuaLIx8eHGNxjF8DTLYjtGVttyCRW8pLEm81-Avpnnf5f2jk_XVLYokEnAsrJ1XfnC6mDuKeW2okAq29LkBZ9ZA17K1HHZ-iY5yw7QiRY57NZNeV5VS0SWXO54AuRBBU01hFiRIwYwR5hRoykd7rehRBfI3q_b2ls6R71zaS1e9po_Xj6SQ_O_sQ20FZRF6KnRVktqizZ1bNKVqUoci7arFwgx1k-xYo3gufzSpZFokWD2tf0ppCWBp9ggIi6lutE1UVWFHmeT3NikC0mBDPvuqyUHRd52UzZNEP659CTmMfEum3i6iGlpt96cmrlg__rFN6rrUEcwhG-6OllcPUd2q5z-Jxn-TQZ4tdD_n8ADCDqYg">