summaryrefslogtreecommitdiff
path: root/shells/bash2/patches/patch-variables.c
blob: dc53adf6194dd4133fbc974dd33d315d26594ad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$NetBSD: patch-variables.c,v 1.2 2014/09/30 18:27:40 christos Exp $

Only read functions from environment if flag is set.

--- variables.c.orig	2014-09-30 14:22:56.000000000 -0400
+++ variables.c	2014-09-30 14:23:31.000000000 -0400
@@ -87,6 +87,7 @@
 extern SHELL_VAR *this_shell_function;
 extern char *this_command_name;
 extern time_t shell_start_time;
+extern int import_functions;
 
 /* The list of shell variables that the user has created at the global
    scope, or that came from the environment. */
@@ -265,7 +266,7 @@
 
       /* If exported function, define it now.  Don't import functions from
 	 the environment in privileged mode. */
-      if (privmode == 0 && read_but_dont_execute == 0 &&
+      if (import_functions && privmode == 0 && read_but_dont_execute == 0 &&
 	  STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
 	  STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
 	  STREQN ("() {", string, 4))