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 )
|
||||
{
|
||||
void *ret;
|
||||
if (!(ret = HeapReAlloc( GetProcessHeap(), 0, *buffer, size )))
|
||||
HeapFree( GetProcessHeap(), 0, *buffer );
|
||||
|
||||
if (*buffer)
|
||||
{
|
||||
if (!(ret = HeapReAlloc( GetProcessHeap(), 0, *buffer, size )))
|
||||
HeapFree( GetProcessHeap(), 0, *buffer );
|
||||
}
|
||||
else ret = HeapAlloc( GetProcessHeap(), 0, size );
|
||||
|
||||
*buffer = ret;
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue