<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/119405>119405</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
`memcpy()` should be `[[clang::unsafe_buffer_usage]]`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pkasting
</td>
</tr>
</table>
<pre>
When `-Wunsafe-buffer-usage` is on, `memcpy()` should trigger a warning (unless locally `pragma`d away), since it effectively does pointer math under the hood (takes a ptr and size).
Similar comments would apply to e.g. `memset()`, `memmove()`, etc.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsks2K4zoQhZ9G3hQxsuz4Z-FFupu8wF30sinLZVm3Zcmo5ATP0w9OwjQDAwKBVHWqPs5BZms8US_Ob-L8keGW5hD79Rs5WW-yIYx7_zmTB1HL0-fmGSc6Dds0UTxtjIZELcEyBC_U-1G00KLXXahWqO74A57D5kZI0RpDERDuGL31BoRqN--IGVzQ6Nx-tK8RzYKiliPgHfdDRL0DW68JbAKaJtLJ3sjtMAZiWIP1iSIsmGbY_EgR0kwwhzAeAxJ-EwPCmiKgH4HtLxKqy4W8CHn5zy7WYQQdloV8Yrg_VsV1dTukAJSb_MXElP4w_ZAu4UZ_PVPSeTb25diVHWbUF01ZtlXdtE02921TyLFQZTN0DRKVE02DbNqmoaqQ7dRltldSVYUqZFHLWjV51Z3LSmvSFbXqLFFUkha0LnfutuQhmswyb9QXRVfJc-ZwIMcPL5XSDr0RSh22xv5oOA2bYVFJZznxj0SyyVH_D-tezg100D4C8vYULS-ivDyz8PXMwtczC-eP49Qy26Lr55RWPmrVVairsWnehlyHRajrMft1ndYY_iedhLo-WFio6wvn1qvfAQAA___7JtMZ">