diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2023-09-11 18:53:31 +0300 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-10-31 01:03:25 +0800 |
commit | 359e5c6cb128dab64ea6070d21d1c240f96cea6b (patch) | |
tree | ca4bdd6a809e02378a860dbefcf6b13d43d0150b /src/liblzma/common/common.h | |
parent | Update THANKS. (diff) | |
download | xz-359e5c6cb128dab64ea6070d21d1c240f96cea6b.tar.xz |
Remove incorrect uses of __attribute__((__malloc__)).
xrealloc() is obviously incorrect, modern GCC docs even
mention realloc() as an example where this attribute
cannot be used.
liblzma's lzma_alloc() and lzma_alloc_zero() would be
correct uses most of the time but custom allocators
may use a memory pool or otherwise hold the pointer
so aliasing issues could happen in theory.
The xstrdup() case likely was correct but I removed it anyway.
Now there are no __malloc__ attributes left in the code.
The allocations aren't in hot paths so this should make
no practical difference.
Diffstat (limited to 'src/liblzma/common/common.h')
-rw-r--r-- | src/liblzma/common/common.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/liblzma/common/common.h b/src/liblzma/common/common.h index 4d9cab53..cea9f9b3 100644 --- a/src/liblzma/common/common.h +++ b/src/liblzma/common/common.h @@ -298,12 +298,12 @@ struct lzma_internal_s { /// Allocates memory extern void *lzma_alloc(size_t size, const lzma_allocator *allocator) - lzma_attribute((__malloc__)) lzma_attr_alloc_size(1); + lzma_attr_alloc_size(1); /// Allocates memory and zeroes it (like calloc()). This can be faster /// than lzma_alloc() + memzero() while being backward compatible with /// custom allocators. -extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1) +extern void * lzma_attr_alloc_size(1) lzma_alloc_zero(size_t size, const lzma_allocator *allocator); /// Frees memory |