[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #13 from Xi Ruoyao --- (In reply to rguent...@suse.de from comment #12) > On Wed, 12 Apr 2023, marxin at gcc dot gnu.org wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 > > > > --- Comment #9 from Martin Li?ka

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #12 from rguenther at suse dot de --- On Wed, 12 Apr 2023, marxin at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 > > --- Comment #9 from Martin Li?ka --- > (In reply to Richard Biener from comment

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #11 from Martin Liška --- > > Maybe it just happens the end to be on the stack of the inner most function > so it just happens that it is an variable address still. No, that's not the case, see my previous comment.

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #10 from Andrew Pinski --- (In reply to Richard Biener from comment #8) > (In reply to Jakub Jelinek from comment #7) > > (In reply to Richard Biener from comment #6) > > > not sure if we should prevent all of those transforms. But

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #9 from Martin Liška --- (In reply to Richard Biener from comment #8) > (In reply to Jakub Jelinek from comment #7) > > (In reply to Richard Biener from comment #6) > > > not sure if we should prevent all of those transforms. But

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #8 from Richard Biener --- (In reply to Jakub Jelinek from comment #7) > (In reply to Richard Biener from comment #6) > > not sure if we should prevent all of those transforms. But the question is > > why ASAN doesn't instrument

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #7 from Jakub Jelinek --- (In reply to Richard Biener from comment #6) > not sure if we should prevent all of those transforms. But the question is > why ASAN doesn't instrument the generated aggregate copy? Maybe because > in

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #6 from Richard Biener --- (In reply to Martin Liška from comment #5) > > It seems Clang disables this optimization and convert memcpy to > > __asan_memcpy calls if -fsanitize=address used: > > > > https://godbolt.org/z/dcfadoMYY >

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 Martin Liška changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #4 from Xi Ruoyao --- (In reply to Martin Liška from comment #3) > The problem here is that we normally preserve memcpy calls and then > __interceptor_memcpy is used from the run-time library. However, in this > case the second

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #3 from Martin Liška --- The problem here is that we normally preserve memcpy calls and then __interceptor_memcpy is used from the run-time library. However, in this case the second argument of memcpy is a known constant and we

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-11 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 Xi Ruoyao changed: What|Removed |Added CC||xry111 at gcc dot gnu.org Ever

[Bug sanitizer/109446] Possible destination array overflow without diagnosis in memcpy

2023-04-11 Thread mohamed.selim at dxc dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109446 --- Comment #1 from Mohamed --- correction to scenario II should pass by value as follows //void test(Bar b) // scenario II