In get_buffer_space() function, HeapReAlloc() will not allocate memory
if passed *buffer value is NULL.
This commit is contained in:
parent
b41466b3b1
commit
f4a535d61e
|
@ -254,8 +254,14 @@ inline static BOOL check_string( LPCWSTR str, size_t size )
|
||||||
inline static void *get_buffer_space( void **buffer, size_t size )
|
inline static void *get_buffer_space( void **buffer, size_t size )
|
||||||
{
|
{
|
||||||
void *ret;
|
void *ret;
|
||||||
|
|
||||||
|
if (*buffer)
|
||||||
|
{
|
||||||
if (!(ret = HeapReAlloc( GetProcessHeap(), 0, *buffer, size )))
|
if (!(ret = HeapReAlloc( GetProcessHeap(), 0, *buffer, size )))
|
||||||
HeapFree( GetProcessHeap(), 0, *buffer );
|
HeapFree( GetProcessHeap(), 0, *buffer );
|
||||||
|
}
|
||||||
|
else ret = HeapAlloc( GetProcessHeap(), 0, size );
|
||||||
|
|
||||||
*buffer = ret;
|
*buffer = ret;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue