summaryrefslogtreecommitdiff
path: root/bin/sh/expand.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh/expand.c')
-rw-r--r--bin/sh/expand.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/bin/sh/expand.c b/bin/sh/expand.c
index 95d2e504cd70..c350eae3ee7f 100644
--- a/bin/sh/expand.c
+++ b/bin/sh/expand.c
@@ -403,7 +403,7 @@ again: /* jump here after setting a variable with ${var=text} */
if ((c = *p++) == CTLESC)
p++;
else if (c == CTLBACKQ || c == (CTLBACKQ|CTLQUOTE)) {
- if (set)
+ if (set && argbackq)
argbackq = argbackq->next;
} else if (c == CTLVAR) {
if ((*p++ & VSTYPE) != VSNORMAL)
@@ -664,10 +664,10 @@ expandmeta(str)
savelastp = exparg.lastp;
INTOFF;
if (expdir == NULL)
- expdir = ckmalloc(8192); /* I hope this is big enough */
+ expdir = ckmalloc(16384); /* I hope this is big enough */
expmeta(expdir, str->text);
- if(strlen(expdir) >= 8192)
- error("malloc overflow in sh:expand.c in ckmalloc(8192)\n");
+ if(strlen(expdir) >= 16384)
+ error("malloc overflow in sh:expand.c in ckmalloc(16384)\n");
ckfree(expdir);
expdir = NULL;
INTON;