diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-28 07:47:57 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-28 07:47:57 +0400 |
| commit | a7b38192142440c59a4e793cf5de99b9a7f1c2c3 (patch) | |
| tree | 45052269612d0347da31a2ca0f0a50383293c8ca | |
| parent | 1eff5aeb7521b56840ec1918b1134f126014d564 (diff) | |
| download | niri-a7b38192142440c59a4e793cf5de99b9a7f1c2c3.tar.gz niri-a7b38192142440c59a4e793cf5de99b9a7f1c2c3.tar.bz2 niri-a7b38192142440c59a4e793cf5de99b9a7f1c2c3.zip | |
tty: Add check for zero gamma size
| -rw-r--r-- | src/backend/tty.rs | 2 | ||||
| -rw-r--r-- | src/handlers/mod.rs | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 783db022..54dce718 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -2074,6 +2074,8 @@ pub fn set_gamma_for_crtc( let info = device.get_crtc(crtc).context("error getting crtc info")?; let gamma_length = info.gamma_length() as usize; + ensure!(gamma_length != 0, "setting gamma is not supported"); + let mut temp; let ramp = if let Some(ramp) = ramp { ensure!(ramp.len() == gamma_length * 3, "wrong gamma length"); diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 46ee79b6..24e386b4 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -448,6 +448,7 @@ impl GammaControlHandler for State { fn get_gamma_size(&mut self, output: &Output) -> Option<u32> { match self.backend.tty().get_gamma_size(output) { + Ok(0) => None, // Setting gamma is not supported. Ok(size) => Some(size), Err(err) => { warn!( |
