On 15.07.2025 09:32, marcandre.lur...@redhat.com wrote:
From: Akihiko Odaki <od...@rsg.ci.i.u-tokyo.ac.jp>

vnc_worker_thread_loop() copies z_stream stored in its local VncState to
the persistent VncState, and the copied one is freed with deflateEnd()
later. However, deflateEnd() refuses to operate with a copied z_stream
and returns Z_STREAM_ERROR, leaking the allocated memory.

Avoid copying the zlib state to fix the memory leak.

Fixes: bd023f953e5e ("vnc: threaded VNC server")
Signed-off-by: Akihiko Odaki <od...@rsg.ci.i.u-tokyo.ac.jp>
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Message-Id: <20250603-zlib-v3-1-20b857bd8...@rsg.ci.i.u-tokyo.ac.jp>
---
  ui/vnc.h          |  2 +-
  ui/vnc-enc-zlib.c | 30 +++++++++++++++---------------
  ui/vnc.c          | 13 ++++++++++---
  3 files changed, 26 insertions(+), 19 deletions(-)

This looks like a qemu-stable material, is it not?

Thanks,

/mjt

Reply via email to