diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/parse.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index b00dbf65d..5b60332b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2019-03-14 Peter Stephenson <p.stephenson@samsung.com> + + * Kamil: 44122: Src/parse.c: turn an int into a long to avoid + overflow. + 2019-03-12 dana <dana@dana.is> * 44100: Completion/Zsh/Command/_zparseopts, Doc/Zsh/mod_zutil.yo, diff --git a/Src/parse.c b/Src/parse.c index 83383f10c..22e553a16 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -414,10 +414,10 @@ ecstrcode(char *s) return c; } else { Eccstr p, *pp; - int cmp; + long cmp; for (pp = &ecstrs; (p = *pp); ) { - if (!(cmp = p->nfunc - ecnfunc) && !(cmp = (((signed)p->hashval) - ((signed)val))) && !(cmp = strcmp(p->str, s))) { + if (!(cmp = p->nfunc - ecnfunc) && !(cmp = (((long)p->hashval) - ((long)val))) && !(cmp = strcmp(p->str, s))) { return p->offs; } pp = (cmp < 0 ? &(p->left) : &(p->right)); |