diff options
author | Christian Weisgerber <naddy@cvs.openbsd.org> | 2012-07-11 10:45:00 +0000 |
---|---|---|
committer | Christian Weisgerber <naddy@cvs.openbsd.org> | 2012-07-11 10:45:00 +0000 |
commit | e3740ae685372f28a4c1576147c844662e143b53 (patch) | |
tree | 2d2891515dd8aef11a3e1babbb769b649073f69a /lib | |
parent | 82c7a9bd3850a0fa18e1c2c49ee3802aab6ed4fe (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.c | 4 |
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; |