← Commit list

f50e14632

Denys Vlasenko
Denys Vlasenko
2018-04-02
SUCCESS Duration: 141s

Subject

ash: parser: Fix parameter expansion inside inner double quotes

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+4 -2
@@ -12467,10 +12467,12 @@ parsesub: {
pungetc();
}
- if (newsyn == ARISYNTAX && subtype > VSNORMAL)
+ if (newsyn == ARISYNTAX)
newsyn = DQSYNTAX;
- if (newsyn != synstack->syntax) {
+ if ((newsyn != synstack->syntax || synstack->innerdq)
+ && subtype != VSNORMAL
+ ) {
synstack_push(&synstack,
synstack->prev ?: alloca(sizeof(*synstack)),
newsyn);
shell/ash_test/ash-quoting/quote_in_varexp1.right+2 -0
@@ -0,0 +1,2 @@
+''
+Ok:0
shell/ash_test/ash-quoting/quote_in_varexp1.tests+2 -0
@@ -0,0 +1,2 @@
+x="''''"; echo "${x#"${x+''}"''}"
+echo Ok:$?