From 724b065397e31d99fedffa613101293f2f14bca5 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 10 Apr 2000 08:22:09 +0000 Subject: more careful with checking index of $history (10614) --- ChangeLog | 3 +++ Src/Modules/parameter.c | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 14b14af5a..9a4a845e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-04-10 Sven Wischnowsky + * 10614: Src/Modules/parameter.c: more careful with checking index + of $history + * 10609: Src/Zle/compcore.c, Src/Zle/compresult.c, Src/Zle/zle_tricky.c: fix for bashautolist+automenu diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index e8e387a59..6bfe43479 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -1020,6 +1020,8 @@ getpmhistory(HashTable ht, char *name) { Param pm = NULL; Histent he; + char *p; + int ok = 1; pm = (Param) zhalloc(sizeof(struct param)); pm->nam = dupstring(name); @@ -1032,7 +1034,17 @@ getpmhistory(HashTable ht, char *name) pm->ename = NULL; pm->old = NULL; pm->level = 0; - if ((he = quietgethist(atoi(name)))) + + if (*name != '0' || name[1]) { + if (*name == '0') + ok = 0; + else { + for (p = name; *p && idigit(*p); p++); + if (*p) + ok = 0; + } + } + if (ok && (he = quietgethist(atoi(name)))) pm->u.str = dupstring(he->text); else { pm->u.str = dupstring(""); -- cgit 1.4.1