<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83776>83776</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Is it possible for Clang to report format truncation warning.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mushenoy
</td>
</tr>
</table>
<pre>
Clang doesn't report truncation warnings, found with GCC
Sample program:
```
#include <stdio.h>
int main() {
char dst[2];
char src[2] = "a";
snprintf (dst, sizeof (dst), "%s!!", src);
return 0;
}
```
Compilation with Clang:
No warnings reported
```
# clang -c -Wall prog.c
#
```
Compilation with GCC:
```
# gcc -c -Wall prog.c
prog.c: In function main:
prog.c:6:37: warning: !! directive output may be truncated writing 2 bytes into a region of size between 1 and 2 [-Wformat-truncation=]
6 | snprintf (dst, sizeof (dst), "%s!!", src);
| ^~
prog.c:6:5: note: snprintf output between 3 and 4 bytes into a destination of size 2
6 | snprintf (dst, sizeof (dst), "%s!!", src);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Compiler Versions:
```
clang version 16.0.6
gcc (GCC) 13.2.1
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VE-PqzYQ_zTDZRRkxiFsDhx2k5fqXXqp1Hc2eCCuwEa22dX20M9eGUj2vdWuXiu1CIEzMxn794dRIZjeMtdQPkF5ztQcr87X4xyubN1r1jj9Wp8GZXvUjoMFqiJ6npyPGP1sWxWNs_iivDW2D0An7NxsNb6YeMVfTicQZxCP6_M3NU4D4-Rd79UIcgvDQWz3-pOkse0wa0aQpxC1cfkV5JfvOxkbcVTGAj0AHRGqpzWOiNhelUcdIpRPBOUZ5Ptc8O2WQ5BnBCIFRD_UBTt5Y2OHQA-pFZ0wmD_ZvQWOKZb-RmUAKpabljrfpuz33TzH2VsU9yBU54-hL8-TGyczbMQmGhf-73T96u50b0qw_oxIbBfpdi3uvqlhWKjP23v63xwiafm5Yti37cfbbGv5iF8tdrNtl5aLeLd295IDyEdZpdoNYVqu7KI2nttonhndHKc56f-KDd9cyBpfvInG9kjYvEYOaGx0qNBzn3Z03SIhNhxfmC0WqKxGQiifdt8650cVd2-OBnlO3rlLeECoTvjfWwPvfX92Qfnlrw_oKhNF1kVO7_vZNopuWOWCdf8jL5pDNHZV-EYOvUf8f6BNSP7h9VODssff2QfjbPjMnesn8LxWYXHIRX7ANZVMC_SQrE1HLGROefGuR6ZrqY_yqDKui0ocS3mgvcyutSDBTSWULrsH6gpRdlwWRy1UxaWu-JCZmgTthRR7URViL3N97JToCqG0qNp9ybAXPCoz5MPwPObO95kJYeb6QVbVIRtUw0NY5jLRgiHxWp4zX6f6XTP3AfZiMCGGtw7RxIHrrwFNxMmFYJqBsXN-nSEY3W14r47_YIbn2eyH-hrjtDBKF6BLb-J1bvLWjUCXtNf22k3e_cFtBLosRw9Al-X0fwcAAP__RODW8Q">