Message ID | 1253386809-15268-1-git-send-email-weil@mail.berlios.de |
---|---|
State | Superseded |
Headers | show |
diff --git a/vnc.c b/vnc.c index 5eaef6a..433b514 100644 --- a/vnc.c +++ b/vnc.c @@ -894,8 +894,14 @@ static void vnc_disconnect_start(VncState *vs) static void vnc_disconnect_finish(VncState *vs) { - if (vs->input.buffer) qemu_free(vs->input.buffer); - if (vs->output.buffer) qemu_free(vs->output.buffer); + if (vs->input.buffer) { + qemu_free(vs->input.buffer); + vs->input.buffer = NULL; + } + if (vs->output.buffer) { + qemu_free(vs->output.buffer); + vs->output.buffer = NULL; + } #ifdef CONFIG_VNC_TLS vnc_tls_client_cleanup(vs); #endif /* CONFIG_VNC_TLS */
After qemu_free, the pointers for input and output buffers are no longer valid, so set them to NULL (most other calls of qemu_free in vnc.c use this pattern, too). Signed-off-by: Stefan Weil <weil@mail.berlios.de> --- vnc.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)