[FFmpeg-devel] [PATCH] avutil/mem: Fix invalid use of av_alloc_size
Mark Harris
mark.hsj at gmail.com
Mon Nov 26 03:55:37 EET 2018
On 2018-11-25 17:29, James Almer wrote:
> On 11/25/2018 10:01 PM, Michael Niedermayer wrote:
>> On Sat, Nov 24, 2018 at 01:02:02PM -0800, Mark Harris wrote:
>>> The alloc_size attribute is valid only on functions that return a
>>> pointer. GCC 9 (not yet released) warns about invalid usage:
>>>
>>> ./libavutil/mem.h:342:1: warning: 'alloc_size' attribute ignored on a function returning int' [-Wattributes]
>>> 342 | av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
>>> | ^~~~~~~~~~~~~
>>
>> Is the attribute also useless on all other compilers ?
>
> The attribute is only used when __GNUC__ is defined, so it should for
> any such compiler (GCC and Clang).
>
> https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
>
The Clang documentation does note a minor difference from GCC, but both
GCC and Clang agree that it applies to functions that return a pointer.
The size is the number of bytes allocated at that pointer. It doesn't
support an indirect reference to the allocated memory; if it did it
would likely need an additional parameter to indicate which argument was
the indirect reference.
https://clang.llvm.org/docs/AttributeReference.html#alloc-size
- Mark
More information about the ffmpeg-devel
mailing list