diff options
author | Pierre Ossman <ossman@cendio.se> | 2017-03-29 13:27:32 +0200 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2017-03-29 13:27:32 +0200 |
commit | fbbd48b35e53fb156b91715dae4aab9008533565 (patch) | |
tree | 189f5a82c787d58e0fe07bce6ee74c749f19236d | |
parent | ea69c99c082579d9c8572a06afb9dbcf4ca1cac6 (diff) | |
download | tigervnc-fbbd48b35e53fb156b91715dae4aab9008533565.tar.gz tigervnc-fbbd48b35e53fb156b91715dae4aab9008533565.zip |
Avoid leaking shared memory via X server
It's not enough that we detach from the shared memory, we must also
tell the X server to do so for it to be freed properly.
-rw-r--r-- | vncviewer/PlatformPixelBuffer.cxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vncviewer/PlatformPixelBuffer.cxx b/vncviewer/PlatformPixelBuffer.cxx index 4802ba46..7b3f34a0 100644 --- a/vncviewer/PlatformPixelBuffer.cxx +++ b/vncviewer/PlatformPixelBuffer.cxx @@ -69,6 +69,7 @@ PlatformPixelBuffer::~PlatformPixelBuffer() #if !defined(WIN32) && !defined(__APPLE__) if (shminfo) { vlog.debug("Freeing shared memory XImage"); + XShmDetach(fl_display, shminfo); shmdt(shminfo->shmaddr); shmctl(shminfo->shmid, IPC_RMID, 0); delete shminfo; |