From 3de2333b0821a1aaeb3ef98046212b5bf22b596c Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Mon, 20 May 2019 00:14:01 +0200 Subject: 44307: allow for atoi() returning a negative number --- Src/exec.c | 2 +- Src/init.c | 5 ++++- Src/params.c | 6 +++--- Src/utils.c | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) (limited to 'Src') diff --git a/Src/exec.c b/Src/exec.c index 6ac852112..60ab0acf8 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2535,7 +2535,7 @@ setunderscore(char *str) { queue_signals(); if (str && *str) { - int l = strlen(str) + 1, nl = (l + 31) & ~31; + size_t l = strlen(str) + 1, nl = (l + 31) & ~31; if (nl > underscorelen || (underscorelen - nl) > 64) { zfree(zunderscore, underscorelen); diff --git a/Src/init.c b/Src/init.c index 2d5c3296d..445cd3937 100644 --- a/Src/init.c +++ b/Src/init.c @@ -45,7 +45,10 @@ int noexitct = 0; char *zunderscore; /**/ -int underscorelen, underscoreused; +size_t underscorelen; + +/**/ +int underscoreused; /* what level of sourcing we are at */ diff --git a/Src/params.c b/Src/params.c index df031ab64..1859c7c12 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2201,10 +2201,10 @@ getstrvalue(Value v) if (v->flags & VALFLAG_SUBST) { if (v->pm->node.flags & (PM_LEFT|PM_RIGHT_B|PM_RIGHT_Z)) { - unsigned int fwidth = v->pm->width ? v->pm->width : MB_METASTRLEN(s); + size_t fwidth = v->pm->width ? (unsigned int)v->pm->width : MB_METASTRLEN(s); switch (v->pm->node.flags & (PM_LEFT | PM_RIGHT_B | PM_RIGHT_Z)) { char *t, *tend; - unsigned int t0; + size_t t0; case PM_LEFT: case PM_LEFT | PM_RIGHT_Z: @@ -5858,7 +5858,7 @@ printparamnode(HashNode hn, int printflags) doneminus = 0; } if ((pmptr->flags & PMTF_USE_WIDTH) && p->width) { - printf("%d ", p->width); + printf("%u ", p->width); doneminus = 0; } } diff --git a/Src/utils.c b/Src/utils.c index 32f600858..46cf7bcf6 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -3336,7 +3336,7 @@ morefmt: case '.': { long fnsec = nsec; - if (digs > 9) + if (digs < 0 || digs > 9) digs = 9; if (ztrftimebuf(&bufsize, digs)) return -1; -- cgit 1.4.1