From 2594015853b4a3fb276dec5dd80f4ccc5d2bc566 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Wed, 22 Apr 2015 22:02:55 -0700 Subject: [PATCH] Util: Fix resource leak in UTF-8 handling code --- CHANGES | 1 + src/util/string.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b7b5e1c40..937e39158 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,7 @@ Bugfixes: - Qt: Fix controllers sometimes not loading the right profile - GBA: Fix hang when loading a savestate if sync to video is enabled - Debugger: Fix use-after-free in breakpoint clearing code + - Util: Fix resource leak in UTF-8 handling code Misc: - Qt: Show multiplayer numbers in window title - Qt: Solar sensor can have shortcuts set diff --git a/src/util/string.c b/src/util/string.c index 5ca8ee299..738f8bf78 100644 --- a/src/util/string.c +++ b/src/util/string.c @@ -178,13 +178,14 @@ char* utf16to8(const uint16_t* utf16, size_t length) { offset = utf8 + bytes; } else if (utf8Length >= utf8TotalBytes) { char* newUTF8 = realloc(utf8, utf8TotalBytes * 2); + offset = offset - utf8 + newUTF8; if (newUTF8 != utf8) { free(utf8); } if (!newUTF8) { return 0; } - offset = offset - utf8 + newUTF8; + utf8 = newUTF8; memcpy(offset, buffer, bytes); offset += bytes; }