From 64c0272f818523537fe8e133d97539e50fdfec64 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Sat, 17 Jun 2023 23:13:05 -0400 Subject: output_state: Gamma lut should be freed only if committed We consider state that is not committed to be uninitialized. --- types/output/state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/types/output/state.c b/types/output/state.c index 9c96fc8e..4633966c 100644 --- a/types/output/state.c +++ b/types/output/state.c @@ -112,7 +112,9 @@ bool wlr_output_state_set_gamma_lut(struct wlr_output_state *state, memcpy(gamma_lut + ramp_size, g, ramp_size * sizeof(uint16_t)); memcpy(gamma_lut + 2 * ramp_size, b, ramp_size * sizeof(uint16_t)); } else { - free(state->gamma_lut); + if (state->committed & WLR_OUTPUT_STATE_GAMMA_LUT) { + free(state->gamma_lut); + } } state->committed |= WLR_OUTPUT_STATE_GAMMA_LUT; -- cgit v1.2.3