From f2441a17c8b5f4be1aad786e7c930dc0ee89216c Mon Sep 17 00:00:00 2001 From: Omar Ibrahim <101708426+omaribrahimsaad@users.noreply.github.com> Date: Sat, 29 Aug 2026 01:21:17 +0800 Subject: [PATCH] [rcore][desktop] Fix clipboard image memory leak (GLFW, RGFW) (#6103) --- src/platforms/rcore_desktop_glfw.c | 7 ++++++- src/platforms/rcore_desktop_rgfw.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c index 5a6c2de2e..795820181 100644 --- a/src/platforms/rcore_desktop_glfw.c +++ b/src/platforms/rcore_desktop_glfw.c @@ -1073,7 +1073,12 @@ Image GetClipboardImage(void) bmpData = (void *)Win32GetClipboardImageData(&width, &height, &dataSize); if (bmpData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data."); - else image = LoadImageFromMemory(".bmp", (const unsigned char *)bmpData, (int)dataSize); + else + { + image = LoadImageFromMemory(".bmp", (const unsigned char *)bmpData, (int)dataSize); + + RL_FREE(bmpData); + } #elif defined(__linux__) && defined(_GLFW_X11) // REF: https://github.com/ColleagueRiley/Clipboard-Copy-Paste/blob/main/x11.c diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c index 34d70414e..ceacf5327 100644 --- a/src/platforms/rcore_desktop_rgfw.c +++ b/src/platforms/rcore_desktop_rgfw.c @@ -1329,7 +1329,12 @@ Image GetClipboardImage(void) fileData = (void *)Win32GetClipboardImageData(&width, &height, &dataSize); if (fileData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data"); - else image = LoadImageFromMemory(".bmp", (const unsigned char *)fileData, (int)dataSize); + else + { + image = LoadImageFromMemory(".bmp", (const unsigned char *)fileData, (int)dataSize); + + RL_FREE(fileData); + } #elif defined(__linux__) && defined(DRGFW_X11)