diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2012-02-05 19:28:16 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2012-02-05 19:28:16 +0000 |
commit | 4735ee67af6c121929ba8f0f604d3dcfb78dd089 (patch) | |
tree | 4e1547094b5caf2e7416778bb6f493a527ce86d4 /Src | |
parent | 368d303a20726a3027b887eef64b3f9920c450a2 (diff) | |
download | zsh-4735ee67af6c121929ba8f0f604d3dcfb78dd089.tar.gz zsh-4735ee67af6c121929ba8f0f604d3dcfb78dd089.tar.xz zsh-4735ee67af6c121929ba8f0f604d3dcfb78dd089.zip |
30127: forbid fc from executing history lines in reverse
Diffstat (limited to 'Src')
-rw-r--r-- | Src/builtin.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index 71fc04ce1..b43c08235 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -1652,6 +1652,12 @@ fclist(FILE *f, Options ops, zlong first, zlong last, last = first; first = tmp; } + if (first > last) { + zwarnnam("fc", "history events are in wrong order, aborted"); + if (f != stdout) + fclose(f); + return 1; + } /* suppress "no substitution" warning if no substitution is requested */ if (!subs) fclistdone = 1; |