]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
exec_shell: prevent basename from modifying env
authorRuediger Meier <ruediger.meier@ga-group.nl>
Thu, 11 Feb 2016 02:45:11 +0000 (03:45 +0100)
committerRuediger Meier <ruediger.meier@ga-group.nl>
Thu, 11 Feb 2016 12:40:28 +0000 (13:40 +0100)
Fix warning:
passing 'const char *' to parameter of type 'char *' discards
qualifiers [-Wincompatible-pointer-types-discards-qualifiers]

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
lib/exec_shell.c

index 2b723acb4c76bccc83a93ec349d037dc110eee68..a7374bd334c7195a19588965238429ea3c8da966 100644 (file)
 
 void exec_shell(void)
 {
-       const char *shell = getenv("SHELL"), *shell_basename;
+       const char *shell = getenv("SHELL");
+       char *shellc = xstrdup(shell);
+       const char *shell_basename;
        char *arg0;
+
        if (!shell)
                shell = DEFAULT_SHELL;
 
-       shell_basename = basename(shell);
+       shell_basename = basename(shellc);
        arg0 = xmalloc(strlen(shell_basename) + 2);
        arg0[0] = '-';
        strcpy(arg0 + 1, shell_basename);