diff --git a/libraries/liblutil/utils.c b/libraries/liblutil/utils.c index df9a8b0bc7..0eb87a8261 100644 --- a/libraries/liblutil/utils.c +++ b/libraries/liblutil/utils.c @@ -399,8 +399,10 @@ lutil_strncopy( if (!a || !b || n == 0) return a; - while ((*a++ = *b++) && n-- > 0) ; - return a-1; + while ((*a++ = *b++) && --n > 0) ; + if (n) + a--; + return a; } /* memcopy is like memcpy except it returns a pointer to the byte past