Mercurial > libavcodec.hg
comparison utils.c @ 6532:8aafb712389e libavcodec
Fix possible heap overflow caused by av_fast_realloc()
author | michael |
---|---|
date | Tue, 25 Mar 2008 10:15:17 +0000 |
parents | ecbe9565dcae |
children | fb6109c5f08b |
comparison
equal
deleted
inserted
replaced
6531:7781f4e99d37 | 6532:8aafb712389e |
---|---|
64 if(min_size < *size) | 64 if(min_size < *size) |
65 return ptr; | 65 return ptr; |
66 | 66 |
67 *size= FFMAX(17*min_size/16 + 32, min_size); | 67 *size= FFMAX(17*min_size/16 + 32, min_size); |
68 | 68 |
69 return av_realloc(ptr, *size); | 69 ptr= av_realloc(ptr, *size); |
70 if(!ptr) //we could set this to the unmodified min_size but this is safer if the user lost the ptr and uses NULL now | |
71 *size= 0; | |
72 | |
73 return ptr; | |
70 } | 74 } |
71 | 75 |
72 static unsigned int last_static = 0; | 76 static unsigned int last_static = 0; |
73 static unsigned int allocated_static = 0; | 77 static unsigned int allocated_static = 0; |
74 static void** array_static = NULL; | 78 static void** array_static = NULL; |