Mercurial > libavcodec.hg
changeset 3374:e9614cf8ac92 libavcodec
* Allocating 16 bytes more for the MEMALIGN_HACK is enough. There's no
need for 1 more extra byte.
* Checking whether the to be allocated size is larger than INT_MAX,
doesn't assure that size+16 bytes for the MEMALIGN_HACK isn't larger
than INT_MAX.
* malloc might return NULL. Checking for it before using that pointer
seems like a good idea.
Patch by Herve W. H PPP O PPP W PPP aka PPP V+ffmpeg AH gmail PPP com
Original thread:
Date: Jun 29, 2006 1:21 PM
Subject: [Ffmpeg-devel] [PATCH] minor improvements to libavcodec/mem.c
author | gpoirier |
---|---|
date | Fri, 30 Jun 2006 08:00:01 +0000 |
parents | b8996cc5ccae |
children | a1c2e1603be9 |
files | mem.c |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mem.c Fri Jun 30 07:50:30 2006 +0000 +++ b/mem.c Fri Jun 30 08:00:01 2006 +0000 @@ -50,11 +50,13 @@ #endif /* let's disallow possible ambiguous cases */ - if(size > INT_MAX) + if(size > (INT_MAX-16) ) return NULL; #ifdef MEMALIGN_HACK - ptr = malloc(size+16+1); + ptr = malloc(size+16); + if(!ptr) + return ptr; diff= ((-(long)ptr - 1)&15) + 1; ptr += diff; ((char*)ptr)[-1]= diff; @@ -104,7 +106,7 @@ #endif /* let's disallow possible ambiguous cases */ - if(size > INT_MAX) + if(size > (INT_MAX-16) ) return NULL; #ifdef MEMALIGN_HACK