<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/217963>217963</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[analyzer] False positive core.CallAndMessage on unreachable code guarded by constant global condition
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:static analyzer,
false-positive
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tianxinghe
</td>
</tr>
</table>
<pre>
clang version 24.0.0git 0c8f1121a2bb2095227dab641e66e5ea4c238e87
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /root/tmptest/llvm-project/build/bin
Build config: +assertions
https://godbolt.org/z/Ghqoa6ros
#include <stdio.h>
static int a = 1;
static int b = 0;
void func1() {
char *c;
if (a) {
printf("%s\n", c);
}
}
void func2() {
char *d;
if (b) {
printf("%s\n", d); // false positive
}
}
int main() {
func1();
func2();
return 0;
}
Both functions produce warnings:
test.c:9:9: warning: 2nd function call argument is an uninitialized value [core.CallAndMessage]
9 | printf("%s\n", c);
| ^~~~~~~~~~~~~~~~~
test.c:16:9: warning: 2nd function call argument is an uninitialized value [core.CallAndMessage]
16 | printf("%s\n", d);
| ^~~~~~~~~~~~~~~~~
2 warnings generated.
The warning in func2 is a false positive.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8VUGT4jYT_TXi0jUuu41tfPDBwPLVd8ht76m21baVCIlIMjszh_z2lAwDzOxMKrlEVZQl-qn9uvvxIO_VaJgbUWxFsV_RHCbrmqDIPCszTrzqrHxpek1mhDM7r6wBXCdpko4qQNpvhizDjLDrMK0LxEpSV64zLksumNY95hveVCJtv5MbOYi8hedN-Wu5fprN78b-ME9amfn5aTRzBE2OScLRStYRerJePYu0_b_xgbRmuVcufi_w4KwNAg_heArs407r8_Hp5Oxv3MdjNyst41MZkbbbeILemkGNlwRb8p5dUNZ4kbYibacQTl7krcCDwMNoZWd1SKwbBR5eBR7-N_1hqXT2CgcAEJgr0-tZMoh854NUNplE_i2GrxAfKKgelAlAIPI9ZCLf_hzrllh6j10fZ6skDLPpM4EbgTWIakH0EzkQ2Pb3G3GpAQRu6AH4sE5OmTAseVBg4UWxM8t2B73A-ppJVPs3CvfdBzL4nsx1vXGSn3HqHvB_Q0ReiMBlCDCQ9ryoIKgzPyT9imXs5ZGU-ZTgQx_fU3yo6X3AcZiduc3l8q4oJxum5daiHzg5K-ee4Qc5o8y4qOgmkijPpBd5W18_b7C4RSNveaAnrYHcOB_ZBFAeyMBslFFBkVavLOFMemYQxba3jpMdad0a-Qt7TyOLYmlELHr3L2cO97ber4ri258fVsTeysnK_6Sey8rKf1qW_KKsL8oBALzNDUY27CiwTC7z-z7dhgrKXHSyFPJBmclKNrms85pW3GTVpsrzIsuy1dRgVWVVWtYpE6Ic6pIxr9c95cj1gFm9Ug2mWKYbzLKq2ORZMqwHTIv1UGd1hwVJsU75SEon0eCiH62U9zM3mFV1ma80daz94t-Ii0-LvL06CxnSL6_sLq0RiAvrp9vvCTF6vmsW6-zm0Yt1qpUP_v6uoIJe_h1uuYo9HN4VD58MD2wctWPqJ-p0hEiGcSYnWUL3Ep3YBzIBRm070vEsVRTNana6-WDFKkxzl_T2eHX5n81-6YgXeLg25dzgXwEAAP___JkE8g">