From 0ae34bd7e56520fafbb84bad9fa58fd254759517 Mon Sep 17 00:00:00 2001 From: Michael Gilbert Date: Tue, 13 Sep 2022 01:46:21 +0100 Subject: [PATCH] use buf before passing it to realloc (gcc 12 -Wuse-after-free) Gbp-Pq: Topic warnings Gbp-Pq: Name use-after-free.patch --- server/queue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/queue.c b/server/queue.c index 4f69a08..a9aa955 100644 --- a/server/queue.c +++ b/server/queue.c @@ -3334,13 +3334,15 @@ DECL_HANDLER(get_rawinput_buffer) if (cur + data->size > buf + get_reply_max_size()) break; if (cur + data->size > buf + buf_size) { + ptrdiff_t diff = cur - buf; + buf_size += buf_size / 2 + extra_size; if (!(tmp = realloc( buf, buf_size ))) { set_error( STATUS_NO_MEMORY ); return; } - cur = tmp + (cur - buf); + cur = tmp + diff; buf = tmp; } -- 2.30.2