Messages in this thread | | | Date | Sat, 16 Aug 2003 03:41:29 -0500 | From | Daniel Forrest <> | Subject | Re: generic strncpy - off-by-one error |
| |
On Sat, Aug 16, 2003 at 10:15:14AM +0200, Peter Kjellerstedt wrote: > > Here is the code that I used: > > char *strncpy(char *dest, const char *src, size_t count) > { > char *tmp = dest; > > while (count && *src) { > *tmp++ = *src++; > count--; > } > > if (count) { > size_t count2; > > while (count & (sizeof(long) - 1)) {
Shouldn't this be:
while (tmp & (sizeof(long) - 1)) {
> *tmp++ = '\0'; > count--; > } > > count2 = count / sizeof(long); > while (count2) { > *((long *)tmp)++ = '\0'; > count2--; > } > > count &= (sizeof(long) - 1); > while (count) { > *tmp++ = '\0'; > count--; > } > } > > return dest; > }
-- Dan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |