From f30af94885279cae22ea0c60f74c5444490a3be9 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 6 Nov 2009 22:38:47 +0000 Subject: 27357: fix compiler warnings in attr module 27358: fix error if $0 altered in sourced file --- Src/builtin.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Src/builtin.c') diff --git a/Src/builtin.c b/Src/builtin.c index f032230b6..47b201264 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -4747,7 +4747,7 @@ bin_dot(char *name, char **argv, UNUSED(Options ops), UNUSED(int func)) enam = arg0 = ztrdup(*argv); if (isset(FUNCTIONARGZERO)) { old0 = argzero; - argzero = arg0; + argzero = ztrdup(arg0); } s = unmeta(enam); errno = ENOENT; @@ -4802,8 +4802,10 @@ bin_dot(char *name, char **argv, UNUSED(Options ops), UNUSED(int func)) if (ret == SOURCE_NOT_FOUND) zwarnnam(name, "%e: %s", errno, enam); zsfree(arg0); - if (old0) + if (old0) { + zsfree(argzero); argzero = old0; + } return ret == SOURCE_OK ? lastval : 128 - ret; } -- cgit 1.4.1