diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index 16d954ed..9f29fca5 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -2650,8 +2650,10 @@ impl Tab { pub fn update_search_term(&mut self, buf: Vec, client_id: ClientId) -> Result<()> { if let Some(active_pane) = self.get_active_pane_or_floating_pane_mut(client_id) { - // It only allows printable unicode, delete and backspace keys. - let is_updatable = buf.iter().all(|u| matches!(u, 0x20..=0x7E | 0x08 | 0x7F)); + // It only allows terminating char(\0), printable unicode, delete and backspace keys. + let is_updatable = buf + .iter() + .all(|u| matches!(u, 0x00 | 0x20..=0x7E | 0x08 | 0x7F)); if is_updatable { let s = str::from_utf8(&buf).with_context(|| { format!("failed to update search term to '{buf:?}' for client {client_id}")