summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai2001-01-05 02:53:11 +0000
committerMatt Kraai2001-01-05 02:53:11 +0000
commitdefcd5e75eec72aa31e9bdbd9ac854832318f82f (patch)
treeef1e9912dd104fc6b2b8238431aad6a065d56c9c
parent6c6ea6cba2aee7b116dc3d5a64f511fb97468cd1 (diff)
downloadbusybox-defcd5e75eec72aa31e9bdbd9ac854832318f82f.zip
busybox-defcd5e75eec72aa31e9bdbd9ac854832318f82f.tar.gz
Fix a segfault by only constructing the prompt when we need to. If we don't
do this we will segfault processing /etc/.profile since cwd isn't yet set.
-rw-r--r--lash.c4
-rw-r--r--sh.c4
-rw-r--r--shell/lash.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/lash.c b/lash.c
index dd1d3aa..3d54b43 100644
--- a/lash.c
+++ b/lash.c
@@ -774,9 +774,9 @@ static int get_command(FILE * source, char *command)
return 1;
}
- prompt_str = setup_prompt_string(shell_context);
-
if (source == stdin) {
+ prompt_str = setup_prompt_string(shell_context);
+
#ifdef BB_FEATURE_SH_COMMAND_EDITING
/*
** enable command line editing only while a command line
diff --git a/sh.c b/sh.c
index dd1d3aa..3d54b43 100644
--- a/sh.c
+++ b/sh.c
@@ -774,9 +774,9 @@ static int get_command(FILE * source, char *command)
return 1;
}
- prompt_str = setup_prompt_string(shell_context);
-
if (source == stdin) {
+ prompt_str = setup_prompt_string(shell_context);
+
#ifdef BB_FEATURE_SH_COMMAND_EDITING
/*
** enable command line editing only while a command line
diff --git a/shell/lash.c b/shell/lash.c
index dd1d3aa..3d54b43 100644
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -774,9 +774,9 @@ static int get_command(FILE * source, char *command)
return 1;
}
- prompt_str = setup_prompt_string(shell_context);
-
if (source == stdin) {
+ prompt_str = setup_prompt_string(shell_context);
+
#ifdef BB_FEATURE_SH_COMMAND_EDITING
/*
** enable command line editing only while a command line