From: Alex Henrie <alexhenrie24(a)gmail.com> --- dlls/inetcomm/mimeole.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/dlls/inetcomm/mimeole.c b/dlls/inetcomm/mimeole.c index 232e09aa075..dd2c00b01fa 100644 --- a/dlls/inetcomm/mimeole.c +++ b/dlls/inetcomm/mimeole.c @@ -485,7 +485,7 @@ static inline propschema *impl_from_IMimePropertySchema(IMimePropertySchema *ifa */ static HRESULT copy_headers_to_buf(IStream *stm, char **ptr) { - char *buf = NULL; + char *buf = NULL, *new_buf; DWORD size = PARSER_BUF_SIZE, offset = 0, last_end = 0; HRESULT hr; BOOL done = FALSE; @@ -497,18 +497,14 @@ static HRESULT copy_headers_to_buf(IStream *stm, char **ptr) char *end; DWORD read; - if(!buf) - buf = malloc(size + 1); - else - { - size *= 2; - buf = realloc(buf, size + 1); - } - if(!buf) + if(buf) size *= 2; + new_buf = realloc(buf, size + 1); + if(!new_buf) { hr = E_OUTOFMEMORY; goto fail; } + buf = new_buf; hr = IStream_Read(stm, buf + offset, size - offset, &read); if(FAILED(hr)) goto fail; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1781