summaryrefslogtreecommitdiffstats
path: root/usr.bin/calendar
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2015-07-15 18:49:15 +0000
committerbapt <bapt@FreeBSD.org>2015-07-15 18:49:15 +0000
commitf5525a768b5e28c474ef73325929a8f9595679c4 (patch)
tree55011cad05835a0c781be4b4dc6adf0930d565d1 /usr.bin/calendar
parent55f3e632fbf869c19c0fdd437056f9120201941a (diff)
downloadFreeBSD-src-f5525a768b5e28c474ef73325929a8f9595679c4.zip
FreeBSD-src-f5525a768b5e28c474ef73325929a8f9595679c4.tar.gz
Fix trimming spaces writing at index -1 if an empty string is passed
Submitted by: Gennady Proskurin <gprspb@mail.ru>
Diffstat (limited to 'usr.bin/calendar')
-rw-r--r--usr.bin/calendar/io.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.bin/calendar/io.c b/usr.bin/calendar/io.c
index 5e5c146..89863f4 100644
--- a/usr.bin/calendar/io.c
+++ b/usr.bin/calendar/io.c
@@ -87,11 +87,16 @@ static void
trimlr(char **buf)
{
char *walk = *buf;
+ char *last;
while (isspace(*walk))
walk++;
- while (isspace(walk[strlen(walk) -1]))
- walk[strlen(walk) -1] = '\0';
+ if (*walk != '\0') {
+ last = walk + strlen(walk) - 1;
+ while (last > walk && isspace(*last))
+ last--;
+ *(last+1) = 0;
+ }
*buf = walk;
}
OpenPOWER on IntegriCloud