← Commit list

e627ac95b

Denys Vlasenko
Denys Vlasenko
2016-09-30
SUCCESS Duration: 268s

Subject

ash: [VAR] Initialise OPTIND after importing environment

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/ash.c+3 -1
@@ -1919,7 +1919,7 @@ static const struct {
{ VSTRFIXED|VTEXTFIXED , "PS2=> " , NULL },
{ VSTRFIXED|VTEXTFIXED , "PS4=+ " , NULL },
#if ENABLE_ASH_GETOPTS
- { VSTRFIXED|VTEXTFIXED , "OPTIND=1" , getoptsreset },
+ { VSTRFIXED|VTEXTFIXED , defoptindvar, getoptsreset },
#endif
#if ENABLE_ASH_RANDOM_SUPPORT
{ VSTRFIXED|VTEXTFIXED|VUNSET|VDYNAMIC, "RANDOM", change_random },
@@ -13124,6 +13124,8 @@ init(void)
}
}
+ setvareq((char*)defoptindvar, VTEXTFIXED);
+
setvar0("PPID", utoa(getppid()));
#if ENABLE_ASH_BASH_COMPAT
p = lookupvar("SHLVL");
shell/shell_common.c+1 -0
@@ -21,6 +21,7 @@
#include <sys/resource.h> /* getrlimit */
const char defifsvar[] ALIGN1 = "IFS= \t\n";
+const char defoptindvar[] ALIGN1 = "OPTIND=1";
int FAST_FUNC is_well_formed_var_name(const char *s, char terminator)
shell/shell_common.h+2 -0
@@ -24,6 +24,8 @@ PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
extern const char defifsvar[] ALIGN1; /* "IFS= \t\n" */
#define defifs (defifsvar + 4)
+extern const char defoptindvar[] ALIGN1; /* "OPTIND=1" */
+
int FAST_FUNC is_well_formed_var_name(const char *s, char terminator);
/* Builtins */