[Pkg-zsh-commits] [zsh] 04/09: Cherry-pick 605a73e4 (33429: disallow non-integer values for HISTSIZE and SAVEHIST of "fc -p", and fix crash on zero values for same) from upstream
Axel Beckert
abe at deuxchevaux.org
Mon Oct 13 21:11:45 UTC 2014
This is an automated email from the git hooks/post-receive script.
abe pushed a commit to branch debian
in repository zsh.
commit 6f309d99e7b9b8c366a09d44762188e796552c42
Author: Axel Beckert <abe at deuxchevaux.org>
Date: Mon Oct 13 22:42:12 2014 +0200
Cherry-pick 605a73e4 (33429: disallow non-integer values for HISTSIZE and SAVEHIST of "fc -p", and fix crash on zero values for same) from upstream
---
...c-p-and-fix-crash-on-zero-values-for-same.patch | 60 ++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 61 insertions(+)
diff --git a/debian/patches/cherry-pick-605a73e4-33429-disallow-non-integer-values-for-histsize-and-savehist-of-fc-p-and-fix-crash-on-zero-values-for-same.patch b/debian/patches/cherry-pick-605a73e4-33429-disallow-non-integer-values-for-histsize-and-savehist-of-fc-p-and-fix-crash-on-zero-values-for-same.patch
new file mode 100644
index 0000000..19b7a82
--- /dev/null
+++ b/debian/patches/cherry-pick-605a73e4-33429-disallow-non-integer-values-for-histsize-and-savehist-of-fc-p-and-fix-crash-on-zero-values-for-same.patch
@@ -0,0 +1,60 @@
+Origin: commit 605a73e415772a1d74cff39212618c8f1d58297b
+Author: Barton E. Schaefer <schaefer at zsh.org>
+Date: Fri Oct 10 23:12:57 2014 -0700
+Description: 33429: disallow non-integer values for HISTSIZE and SAVEHIST of "fc -p", and fix crash on zero values for same
+
+diff --git a/Src/builtin.c b/Src/builtin.c
+index 4a10c7d..5b711ed 100644
+--- a/Src/builtin.c
++++ b/Src/builtin.c
+@@ -1363,10 +1363,19 @@ bin_fc(char *nam, char **argv, Options ops, int func)
+ if (*argv) {
+ hf = *argv++;
+ if (*argv) {
+- hs = zstrtol(*argv++, NULL, 10);
+- if (*argv)
+- shs = zstrtol(*argv++, NULL, 10);
+- else
++ char *check;
++ hs = zstrtol(*argv++, &check, 10);
++ if (*check) {
++ zwarnnam("fc", "HISTSIZE must be an integer");
++ return 1;
++ }
++ if (*argv) {
++ shs = zstrtol(*argv++, &check, 10);
++ if (*check) {
++ zwarnnam("fc", "SAVEHIST must be an integer");
++ return 1;
++ }
++ } else
+ shs = hs;
+ if (*argv) {
+ zwarnnam("fc", "too many arguments");
+diff --git a/Src/hist.c b/Src/hist.c
+index 4660fd0..0831756 100644
+--- a/Src/hist.c
++++ b/Src/hist.c
+@@ -1110,8 +1110,11 @@ static void
+ putoldhistentryontop(short keep_going)
+ {
+ static Histent next = NULL;
+- Histent he = keep_going? next : hist_ring->down;
+- next = he->down;
++ Histent he = (keep_going || !hist_ring) ? next : hist_ring->down;
++ if (he)
++ next = he->down;
++ else
++ return;
+ if (isset(HISTEXPIREDUPSFIRST) && !(he->node.flags & HIST_DUP)) {
+ static zlong max_unique_ct = 0;
+ if (!keep_going)
+@@ -1151,7 +1154,7 @@ prepnexthistent(void)
+ freehistnode(&hist_ring->node);
+ }
+
+- if (histlinect < histsiz) {
++ if (histlinect < histsiz || !hist_ring) {
+ he = (Histent)zshcalloc(sizeof *he);
+ if (!hist_ring)
+ hist_ring = he->up = he->down = he;
diff --git a/debian/patches/series b/debian/patches/series
index 8f45cdf..b66fd30 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ cherry-pick-9982ab6f-missing-changelog-entry
cherry-pick-0f73b35f-33391-vcs-info-git-fix-applied-patch-detection-on-git-am.patch
cherry-pick-a03227de-33405-vcs-info-make-sure-maxexports-is-set-when-vcs-info-set-is-called.patch
cherry-pick-22c4ea42-33403-be-conservative-about-redirecting-call-program-stderr-the-caller-may-have-already-done-so.patch
+cherry-pick-605a73e4-33429-disallow-non-integer-values-for-histsize-and-savehist-of-fc-p-and-fix-crash-on-zero-values-for-same.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/zsh.git
More information about the Pkg-zsh-commits
mailing list