[PATCH 9/9] server: Avoid using pointer value after realloc.
Rémi Bernon
wine at gitlab.winehq.org
Fri Jun 3 04:21:03 CDT 2022
From: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
server/queue.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/server/queue.c b/server/queue.c
index d79add56fba..e40f5f1f2e3 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -3350,7 +3350,7 @@ DECL_HANDLER(get_rawinput_buffer)
struct thread_input *input = current->queue->input;
data_size_t size = 0, next_size = 0;
struct list *ptr;
- char *buf, *cur, *tmp;
+ char *buf, *cur;
int count = 0, buf_size = 16 * sizeof(struct hardware_msg_data);
if (!req->buffer_size) buf = NULL;
@@ -3373,13 +3373,13 @@ DECL_HANDLER(get_rawinput_buffer)
if (cur + data->size > buf + buf_size)
{
buf_size += buf_size / 2 + extra_size;
- if (!(tmp = realloc( buf, buf_size )))
+ cur = (char *)(cur - buf);
+ if (!(buf = realloc( buf, buf_size )))
{
set_error( STATUS_NO_MEMORY );
return;
}
- cur = tmp + (cur - buf);
- buf = tmp;
+ cur = buf + (size_t)cur;
}
memcpy( cur, data, data->size );
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/180
More information about the wine-devel
mailing list