diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-25 13:04:04 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-25 13:04:04 -0500 |
commit | b445434992254b2f531fe7385b7d05c7353b66ad (patch) | |
tree | ac347ec91007cfdad00b992a1d64066bfc710431 /src | |
parent | 02793ccec496e9ca1ea5e3474b70b39dfea388a9 (diff) | |
download | spmc-b445434992254b2f531fe7385b7d05c7353b66ad.tar.gz |
Fix invalid array access on short strings
Diffstat (limited to 'src')
-rw-r--r-- | src/str.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -453,12 +453,18 @@ char *lstrip(char *sptr) { * @return truncated string */ char *strip(char *sptr) { - size_t len = strlen(sptr) - 1; - if (len < 1 && isblank(*sptr)) { + size_t len = strlen(sptr); + if (len == 0) { + return sptr; + } + else if (len == 1) { *sptr = '\0'; return sptr; } - for (size_t i = len; ; i--) { + for (size_t i = len; i != 0; --i) { + if (sptr[i] == '\0') { + continue; + } if (isspace(sptr[i]) || isblank(sptr[i])) { sptr[i] = '\0'; } |