From c5982a3eb5287afdec6c9b859f81795c773da8fe Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 25 Aug 2011 17:14:19 -0500 Subject: strtrim: don't move empty string There were many cases where the string coming in was a blank line, e.g. "\n\0", length 1. The trim routine starts by trimming leading spaces, thus trimming everything. We would then proceed to do a memmove of the NULL byte, which is completely worthless as we can just assign it instead. Signed-off-by: Dan McGee --- src/util/pactree.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/util') diff --git a/src/util/pactree.c b/src/util/pactree.c index 5a27cc77..b8832912 100644 --- a/src/util/pactree.c +++ b/src/util/pactree.c @@ -103,7 +103,12 @@ static char *strtrim(char *str) pch++; } if(pch != str) { - memmove(str, pch, (strlen(pch) + 1)); + size_t len = strlen(pch); + if(len) { + memmove(str, pch, len + 1); + } else { + *str = '\0'; + } } /* check if there wasn't anything but whitespace in the string. */ -- cgit v1.2.3-70-g09d2