ADELIM can be ‘}’ too, not just ‘/’, in code that checks for / vs. //

caught by new code after segfault report by bef0rd on IRC (thanks!)
This commit is contained in:
tg
2016-02-24 01:47:32 +00:00
parent e9fc158472
commit 08e1c6a9ea
2 changed files with 7 additions and 7 deletions

4
eval.c
View File

@ -23,7 +23,7 @@
#include "sh.h"
__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.181 2016/01/21 18:24:38 tg Exp $");
__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.182 2016/02/24 01:47:32 tg Exp $");
/*
* string expansion
@ -1151,7 +1151,7 @@ varsub(Expand *xp, const char *sp, const char *word,
if (!stype && c == '/') {
slen += 2;
stype = c;
if (word[slen] == ADELIM) {
if (word[slen] == ADELIM && word[slen + 1] == c) {
slen += 2;
stype |= 0x80;
}