Hi, On Mon, Apr 9, 2012 at 12:10 PM, Martin Storsjö <[email protected]> wrote: > Plain POSIX malloc(0) is allowed to return either NULL or a > non-NULL pointer. The calling code should be ready to handle > a NULL return as a correct return (instead of a failure) if the size > to allocate was 0 - this makes sure the condition is handled > in a consistent way across platforms. > > This also avoids calling posix_memalign(&ptr, 32, 0) on OS X, > which returns an invalid pointer (a non-NULL pointer that causes > crashes when passed to av_free). > > Abort in debug mode, to help track down issues related to > incorrect handling of this case. > --- > libavutil/mem.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libavutil/mem.c b/libavutil/mem.c > index b6230cf..22ec9a8 100644 > --- a/libavutil/mem.c > +++ b/libavutil/mem.c > @@ -68,8 +68,13 @@ void *av_malloc(size_t size) > long diff; > #endif > > +#ifdef DEBUG > + if (!size) > + abort(); > +#endif
Isn't this the same as assert(size)? Otherwise OK. Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
