--- libavutil/mem.h | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-)
diff --git a/libavutil/mem.h b/libavutil/mem.h index 2f53b47..ca936e8 100644 --- a/libavutil/mem.h +++ b/libavutil/mem.h @@ -80,7 +80,8 @@ * be allocated. * @see av_mallocz() */ -void *av_malloc(size_t size) av_malloc_attrib av_alloc_size(1); +av_malloc_attrib +void *av_malloc(size_t size) av_alloc_size(1); /** * Allocate a block of size * nmemb bytes with av_malloc(). @@ -90,7 +91,8 @@ void *av_malloc(size_t size) av_malloc_attrib av_alloc_size(1); * be allocated. * @see av_malloc() */ -av_alloc_size(1, 2) static inline void *av_malloc_array(size_t nmemb, size_t size) +av_malloc_attrib +static inline void *av_malloc_array(size_t nmemb, size_t size) av_alloc_size(1, 2) { if (!size || nmemb >= INT_MAX / size) return NULL; @@ -115,6 +117,7 @@ av_alloc_size(1, 2) static inline void *av_malloc_array(size_t nmemb, size_t siz * some libc implementations. * @see av_fast_realloc() */ +av_malloc_attrib void *av_realloc(void *ptr, size_t size) av_alloc_size(2); /** @@ -125,7 +128,8 @@ void *av_realloc(void *ptr, size_t size) av_alloc_size(2); * - It frees the input block in case of failure, thus avoiding the memory * leak with the classic "buf = realloc(buf); if (!buf) return -1;". */ -void *av_realloc_f(void *ptr, size_t nelem, size_t elsize); +av_malloc_attrib +void *av_realloc_f(void *ptr, size_t nelem, size_t elsize) av_alloc_size(2, 3); /** * Allocate or reallocate a block of memory. @@ -145,7 +149,7 @@ void *av_realloc_f(void *ptr, size_t nelem, size_t elsize); * some libc implementations. */ av_warn_unused_result -int av_reallocp(void *ptr, size_t size); +int av_reallocp(void *ptr, size_t size) av_alloc_size(2); /** * Allocate or reallocate an array. @@ -164,7 +168,8 @@ int av_reallocp(void *ptr, size_t size); * The situation is undefined according to POSIX and may crash with * some libc implementations. */ -av_alloc_size(2, 3) void *av_realloc_array(void *ptr, size_t nmemb, size_t size); +av_malloc_attrib +void *av_realloc_array(void *ptr, size_t nmemb, size_t size) av_alloc_size(2, 3); /** * Allocate or reallocate an array through a pointer to a pointer. @@ -183,7 +188,7 @@ av_alloc_size(2, 3) void *av_realloc_array(void *ptr, size_t nmemb, size_t size) * The situation is undefined according to POSIX and may crash with * some libc implementations. */ -av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size); +int av_reallocp_array(void *ptr, size_t nmemb, size_t size) av_alloc_size(2, 3); /** * Free a memory block which has been allocated with av_malloc(z)() or @@ -203,7 +208,8 @@ void av_free(void *ptr); * @return Pointer to the allocated block, NULL if it cannot be allocated. * @see av_malloc() */ -void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1); +av_malloc_attrib +void *av_mallocz(size_t size) av_alloc_size(1); /** * Allocate a block of nmemb * size bytes with alignment suitable for all @@ -215,7 +221,8 @@ void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1); * @param size * @return Pointer to the allocated block, NULL if it cannot be allocated. */ -void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib; +av_malloc_attrib +void *av_calloc(size_t nmemb, size_t size) av_alloc_size(1, 2); /** * Allocate a block of size * nmemb bytes with av_mallocz(). @@ -226,7 +233,8 @@ void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib; * @see av_mallocz() * @see av_malloc_array() */ -av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t size) +av_malloc_attrib +static inline void *av_mallocz_array(size_t nmemb, size_t size) av_alloc_size(1, 2) { if (!size || nmemb >= INT_MAX / size) return NULL; @@ -239,7 +247,8 @@ av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t si * @return Pointer to a newly-allocated string containing a * copy of s or NULL if the string cannot be allocated. */ -char *av_strdup(const char *s) av_malloc_attrib; +av_malloc_attrib +char *av_strdup(const char *s); /** * Duplicate a substring of the string s. @@ -249,7 +258,8 @@ char *av_strdup(const char *s) av_malloc_attrib; * @return Pointer to a newly-allocated string containing a * copy of s or NULL if the string cannot be allocated. */ -char *av_strndup(const char *s, size_t len) av_malloc_attrib; +av_malloc_attrib +char *av_strndup(const char *s, size_t len) av_alloc_size(2); /** * Duplicate the buffer p. @@ -257,7 +267,8 @@ char *av_strndup(const char *s, size_t len) av_malloc_attrib; * @return Pointer to a newly allocated buffer containing a * copy of p or NULL if the buffer cannot be allocated. */ -void *av_memdup(const void *p, size_t size); +av_malloc_attrib +void *av_memdup(const void *p, size_t size) av_alloc_size(2); /** * Free a memory block which has been allocated with av_malloc(z)() or @@ -368,7 +379,8 @@ void av_memcpy_backptr(uint8_t *dst, int back, int cnt); * * @see av_realloc */ -void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size); +av_malloc_attrib +void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size) av_alloc_size(3); /** * Allocate a buffer, reusing the given one if large enough. @@ -382,7 +394,7 @@ void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size); * @param min_size minimum size of *ptr buffer after returning, *ptr will be NULL and * *size 0 if an error occurred. */ -void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size); +void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size) av_alloc_size(3); /** * Allocate a buffer, reusing the given one if large enough. @@ -397,7 +409,7 @@ void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size); * @param min_size minimum size of *ptr buffer after returning, *ptr will be NULL and * *size 0 if an error occurred. */ -void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size); +void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size) av_alloc_size(3); /** * @} -- 2.1.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel