From 0ed8f06b9fef7a025bfc1750729350742e227243 Mon Sep 17 00:00:00 2001 From: Kunal Mohan <44079328+kunalmohan@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:31:05 +0530 Subject: Prevent a zellij session from attaching to itself. (#911) * fix #905 Prevent a zellij session from attaching to itself. * Add check while attaching using index as well --- src/commands.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/commands.rs b/src/commands.rs index aec3970e0..d1bcb4561 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -16,6 +16,7 @@ use zellij_utils::input::options::Options; use zellij_utils::nix; use zellij_utils::{ cli::{CliArgs, Command, SessionCommand, Sessions}, + envs, setup::{get_default_data_dir, Setup}, }; @@ -186,6 +187,13 @@ pub(crate) fn start_client(opts: CliArgs) { attach_with_session_name(session_name, config_options.clone(), create) }; + if let Ok(val) = std::env::var(envs::SESSION_NAME_ENV_KEY) { + if val == *client.get_session_name() { + eprintln!("You are trying to attach to the current session(\"{}\"). Zellij does not support nesting a session in itself", val); + process::exit(1); + } + } + let attach_layout = match client { ClientInfo::Attach(_, _) => None, ClientInfo::New(_) => layout, -- cgit v1.2.3