From 2686b7c634c7e060fe099dd127ddfd9a0790ad6e Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Sat, 26 Jan 2013 14:02:04 -0500 Subject: [PATCH] =?UTF-8?q?main:=20Don=E2=80=99t=20leak=20shell=5Fname=20m?= =?UTF-8?q?emory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Anders Kaseorg --- src/frontend/mosh-server.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/frontend/mosh-server.cc b/src/frontend/mosh-server.cc index ff43356..d1d77b6 100644 --- a/src/frontend/mosh-server.cc +++ b/src/frontend/mosh-server.cc @@ -245,6 +245,7 @@ int main( int argc, char *argv[] ) /* Get shell */ char *my_argv[ 2 ]; + string shell_name; if ( !command_argv ) { /* get shell name */ struct passwd *pw = getpwuid( geteuid() ); @@ -260,8 +261,6 @@ int main( int argc, char *argv[] ) command_path = shell_path; - string shell_name; - size_t shell_slash( shell_path.rfind('/') ); if ( shell_slash == string::npos ) { shell_name = shell_path; @@ -272,7 +271,7 @@ int main( int argc, char *argv[] ) /* prepend '-' to make login shell */ shell_name = '-' + shell_name; - my_argv[ 0 ] = strdup( shell_name.c_str() ); + my_argv[ 0 ] = const_cast( shell_name.c_str() ); my_argv[ 1 ] = NULL; command_argv = my_argv;