<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/72455>72455</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            -Wstringop-overread not implemented in Clang
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            clang:diagnostics
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ldionne
      </td>
    </tr>
</table>

<pre>
    GCC warns on the following code:

```
#include <cstring>

void f(char* dst){
    std::memcpy(dst, "abc", 5);
}
```

```
<source>: In function 'void f(char*)':
<source>:4:16: warning: 'void* memcpy(void*, const void*, size_t)' reading 5 bytes from a region of size 4 [-Wstringop-overread]
 4 |     std::memcpy(dst, "abc", 5);
      | ~~~~~~~~~~~^~~~~~~~~~~~~~~
Compiler returned: 0
```

Clang doesn't warn. I tried with `-Wall -Wextra`. It seems like it should be fairly easy to warn on this with Clang, perhaps we should implement that diagnostic?

https://godbolt.org/z/qP736q5je
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycU8GO4ygQ_ZrypZTIBhMnBx_S6cmqb3vr4wpDxWYWgwdwZzOH-fYVdnrSM2rtYZFlC6j36r0HljGa3hG1IJ5APBdyToMPrdXGO0dF5_Wt_eN0wqsMLqJ3mAbCi7fWX43rUXlNwI9QPkP5_t6V92edMm6csrMmBH5SMQXjeuBfPkLevNF4AbZXgwzAjqhjAnaA5mndR0SMSedG_DjSqKYbsP1SdEJgTHYKGMsTkWH8DoPm-XNJny7yU_RzUJS18SO-OLzMTiXjHQJrfpeY-7DmYf1XdA38WO0yTc5tMXx8Z8n-fnq4L2TpyruY8MNCNN_pr7Q2wkBS58AFdrdEES_BjygxUJ8F-stSjTWCeNq8riH7aePfKGQkiHsSuaI54f8MdMEtBD8eA8SXH7-Mtfbkx8lYChgozcFRboblf5zHyUrXo_YUHbAmLclt8QVTMKTxatKAsCs3r9Ja3LzSPylI2JVbfEkYicaI1vxNaBLGwc9WY0d4kSbYG5KMN0x-YVyvsIkr4dIz25woDHKKeKV3uBknSyO5hGmQCbWRvfMxGQX8_FH2kNIUc5DsDOzce915m7Y-9MDO34Gdv_3Z8N038ZUK3XJ94AdZUFs1ZVkeqqZsiqEtD8TqfbWng9RMMrkvhZSqPqhS1IJ1rDAtKxmvqkowXld1s-WXTlSXHSmpSYtOQl3SKI3dWvs25t6FiXGmtmG1EIWVHdm4_OCMqdVxPtufM358uIt5TzwXoc1cm27uI9SlNTHFB3syyVL7yT1D59MjOdJo3JpxMQfb_haVScPcbZUfgZ0z9f2zmYL_SioBOy8uIrDzYuTfAAAA__9Edmod">