https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117315
Sam James <sjames at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gitlab.com/wireshar
| |k/wireshark/-/merge_request
| |s/15925
--- Comment #19 from Sam James <sjames at gcc dot gnu.org> ---
Sorry, that feels obvious in hindsight.
commit 365a8212989ef0ef506969631617175a2464302f
Author: Darius Davis <[email protected]>
Date: Mon Jun 10 20:50:51 2024 +1000
wmem: Remove G_GNUC_MALLOC from wmem_realloc and wmem_memdup.
The documentation for GCC's __attribute__((malloc)) [1] says specifically
that
this attribute should not be used on realloc-like functions because "they
may
return pointers to storage containing pointers to existing objects" which
can
cause the compiler to make incorrect assumptions about pointer aliasing, so
let's remove G_GNUC_MALLOC from wmem_realloc.
wmem_memdup meets the same criterion, so G_GNUC_MALLOC is removed from that
function too.
[1]
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-functions-that-behave-like-malloc
I'll send a followup for wmem_tree_new_autoreset.