Jinoh Kang : winedbg: Use exponential growth in gdbproxy reply_buffer_grow.
Alexandre Julliard
julliard at winehq.org
Tue Nov 23 16:03:31 CST 2021
Module: wine
Branch: master
Commit: 16df7786279ca081558fabee962c1cc950656a34
URL: https://source.winehq.org/git/wine.git/?a=commit;h=16df7786279ca081558fabee962c1cc950656a34
Author: Jinoh Kang <jinoh.kang.kr at gmail.com>
Date: Wed Nov 24 00:09:53 2021 +0900
winedbg: Use exponential growth in gdbproxy reply_buffer_grow.
Signed-off-by: Jinoh Kang <jinoh.kang.kr at gmail.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
programs/winedbg/gdbproxy.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index 07a45cd1b15..120cc84e008 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -236,9 +236,14 @@ static void reply_buffer_clear(struct reply_buffer* reply)
static void reply_buffer_grow(struct reply_buffer* reply, size_t size)
{
- if (reply->alloc < reply->len + size)
+ size_t required_alloc = reply->len + size;
+
+ if (reply->alloc < required_alloc)
{
- reply->alloc = ((reply->len + size) / 32 + 1) * 32;
+ reply->alloc = reply->alloc * 3 / 2;
+ if (reply->alloc < required_alloc)
+ reply->alloc = required_alloc;
+
reply->base = realloc(reply->base, reply->alloc);
}
}
More information about the wine-cvs
mailing list