summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChristian Weisgerber <naddy@cvs.openbsd.org>2012-07-11 10:45:00 +0000
committerChristian Weisgerber <naddy@cvs.openbsd.org>2012-07-11 10:45:00 +0000
commite3740ae685372f28a4c1576147c844662e143b53 (patch)
tree2d2891515dd8aef11a3e1babbb769b649073f69a /lib
parent82c7a9bd3850a0fa18e1c2c49ee3802aab6ed4fe (diff)
fix an off-by-one error where the return value would point to the
character after the '\0'; ok guenther@
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/string/stpncpy.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/string/stpncpy.c b/lib/libc/string/stpncpy.c
index b772486d59c..c7c2a57c4cd 100644
--- a/lib/libc/string/stpncpy.c
+++ b/lib/libc/string/stpncpy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: stpncpy.c,v 1.1 2012/01/17 02:48:01 guenther Exp $ */
+/* $OpenBSD: stpncpy.c,v 1.2 2012/07/11 10:44:59 naddy Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -44,7 +44,7 @@ stpncpy(char *dst, const char *src, size_t n)
dst = &dst[n];
do {
if ((*d++ = *s++) == 0) {
- dst = d;
+ dst = d - 1;
/* NUL pad the remaining n-1 bytes */
while (--n != 0)
*d++ = 0;