summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2018-01-17 11:37:10 -0800
committerjsorg71 <jay.sorg@gmail.com>2018-01-22 04:32:36 +0000
commita64cb81a36f0a0db762b6f89a52e6d3e73d786e6 (patch)
tree17e9b6936ad48e5efa59e858f9b08f15396b80b4
parentb17c45d86fc2f22fcff8cb9adf31080738edd37a (diff)
downloadxrdp-proprietary-a64cb81a36f0a0db762b6f89a52e6d3e73d786e6.tar.gz
xrdp-proprietary-a64cb81a36f0a0db762b6f89a52e6d3e73d786e6.zip
xrdp: fix some leaks in xrdp_encoder.c
-rw-r--r--xrdp/xrdp_encoder.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/xrdp/xrdp_encoder.c b/xrdp/xrdp_encoder.c
index 4d80214e..fddc6e45 100644
--- a/xrdp/xrdp_encoder.c
+++ b/xrdp/xrdp_encoder.c
@@ -169,6 +169,16 @@ xrdp_encoder_delete(struct xrdp_encoder *self)
/* todo delete specific encoder */
+ if (self->process_enc == process_enc_jpg)
+ {
+ }
+ else if (self->process_enc == process_enc_rfx)
+ {
+#ifdef XRDP_RFXCODEC
+ rfxcodec_encode_destroy(self->codec_handle);
+#endif
+ }
+
/* destroy wait objects used for signalling */
g_delete_wait_obj(self->xrdp_encoder_event_to_proc);
g_delete_wait_obj(self->xrdp_encoder_event_processed);
@@ -208,6 +218,7 @@ xrdp_encoder_delete(struct xrdp_encoder *self)
}
fifo_delete(fifo);
}
+ tc_mutex_delete(self->mutex);
g_free(self);
}