From ed5c4c8e53fce85c1f450c6493b888e4dc223dcf Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 10 Jan 2008 10:25:31 +0000 Subject: 24384 plus extra check: care with scanprog --- ChangeLog | 5 +++++ Src/params.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 55cf5d102..d0edf2f4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-01-10 Peter Stephenson + + * 24384: Src/params.c: eliminate invalid pointer and also + (unposted) add debug check for use. + 2008-01-08 Peter Stephenson * unposted: 4.3.4-dev-7. diff --git a/Src/params.c b/Src/params.c index a8a0f7780..f7534472c 100644 --- a/Src/params.c +++ b/Src/params.c @@ -542,6 +542,8 @@ scanparamvals(HashNode hn, int flags) char ** paramvalarr(HashTable ht, int flags) { + DPUTS((flags & (SCANPM_MATCHKEY|SCANPM_MATCHVAL)) && !scanprog, + "BUG: scanning hash without scanprog set"); numparamvals = 0; if (ht) scanhashtable(ht, 0, 0, PM_UNSET, scancountparams, flags); @@ -1308,8 +1310,10 @@ getarg(char **str, int *inv, Value v, int a2, zlong *w, SCANPM_KEYMATCH))))) { *inv = (v->flags & VALFLAG_INV) ? 1 : 0; *w = v->end; + scanprog = NULL; return 1; } + scanprog = NULL; } else ta = getarrvalue(v); if (!ta || !*ta) -- cgit 1.4.1