summaryrefslogtreecommitdiff
path: root/server/reds.c
diff options
context:
space:
mode:
authorFrediano Ziglio <fziglio@redhat.com>2015-08-26 15:29:05 +0100
committerFrediano Ziglio <fziglio@redhat.com>2015-08-26 15:42:59 +0100
commit9a62481b83bcb02c79f66d84e6176def09d63cda (patch)
tree72f54a7db7a1064edfe6b6b6de62fe901e1b4dc8 /server/reds.c
parent068bf4e83d2a615c26cdfc6ba7120590eacfed51 (diff)
Avoid core calling spice_server_destroy
spice_server_destroy calls reds_exit which is called also at exit time (is registered with atexit) so avoid to keep dangling pointers. Currently this does not happen as spice_server_destroy is not called by Qemu. Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Diffstat (limited to 'server/reds.c')
-rw-r--r--server/reds.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/server/reds.c b/server/reds.c
index c07cb6cd..5d2ad9b9 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2700,8 +2700,11 @@ static void reds_exit(void)
main_channel_close(reds->main_channel);
}
#ifdef RED_STATISTICS
- shm_unlink(reds->stat_shm_name);
- free(reds->stat_shm_name);
+ if (reds->stat_shm_name) {
+ shm_unlink(reds->stat_shm_name);
+ free(reds->stat_shm_name);
+ reds->stat_shm_name = NULL;
+ }
#endif
}