Messages in this thread | | | From | Andreas Schwab <> | Subject | Re: [PATCH] befs: use strlcpy() | Date | Sun, 30 Oct 2005 11:38:36 +0100 |
| |
Alexey Dobriyan <adobriyan@gmail.com> writes:
> --- a/fs/befs/btree.c > +++ b/fs/befs/btree.c > @@ -503,10 +503,9 @@ befs_btree_read(struct super_block *sb, > goto error_alloc; > }; > > - strncpy(keybuf, keystart, keylen); > + strlcpy(keybuf, keystart, keylen); > *value = fs64_to_cpu(sb, valarray[cur_key]); > *keysize = keylen; > - keybuf[keylen] = '\0';
You are now cutting off the last character of the string. keylen is the exact size of the string to be copied, _not_ the size of the buffer (which is bufsize and guaranteed to be big enough at this point).
Andreas.
-- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." - 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/
| |