diff options
author | Kunal Mohan <44079328+kunalmohan@users.noreply.github.com> | 2021-11-30 17:31:05 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 17:31:05 +0530 |
commit | 0ed8f06b9fef7a025bfc1750729350742e227243 (patch) | |
tree | c83b55a1d740ec02466d80cc47fe5fb208aadf5e /src | |
parent | 5180d8016fc527561f898b7e49d47c7dcb570d31 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/commands.rs | 8 |
1 files changed, 8 insertions, 0 deletions
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, |