summaryrefslogtreecommitdiff
path: root/src/backends/native/meta-kms-crtc.c
diff options
context:
space:
mode:
authorSebastian Keller <skeller@gnome.org>2020-01-24 18:46:20 +0100
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-01-24 21:10:11 +0000
commit9feda1c58bfaa7573fa955351ecc537709b80055 (patch)
tree1ae4758f5e03ba9b86ea27b13d88b5bf23d0f846 /src/backends/native/meta-kms-crtc.c
parent51733ca4996f128b2701258411f0cc5cf00830a4 (diff)
downloadmutter-9feda1c58bfaa7573fa955351ecc537709b80055.tar.gz
kms/crtc: Fix gamma state leak
The gamma value pointers of the current_state are overwritten by the calls to memdup causing a small leak. while the leak itself is small, it can be triggered quite often from things like night light. https://gitlab.gnome.org/GNOME/mutter/merge_requests/1020
Diffstat (limited to 'src/backends/native/meta-kms-crtc.c')
-rw-r--r--src/backends/native/meta-kms-crtc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backends/native/meta-kms-crtc.c b/src/backends/native/meta-kms-crtc.c
index da99a58cd..6cf752494 100644
--- a/src/backends/native/meta-kms-crtc.c
+++ b/src/backends/native/meta-kms-crtc.c
@@ -203,6 +203,7 @@ meta_kms_crtc_predict_state (MetaKmsCrtc *crtc,
if (gamma->crtc != crtc)
continue;
+ clear_gamma_state (crtc);
crtc->current_state.gamma.size = gamma->size;
crtc->current_state.gamma.red =
g_memdup (gamma->red, gamma->size * sizeof (uint16_t));