Re: Unanticipated test error
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Jul 21, 2006, 07:22 UTC
- Message-ID
- <81b0412b0607210022o562ac326wd149c73cc529f239@mail.gmail.com>
- In-Reply-To
- <20060720194013.GC24793@bohr.gbar.dtu.dk>
On 7/20/06, Peter Eriksen <s022018@student.dtu.dk> wrote:
Show 14 quoted lines
> The patch really should not change any semantics at all, since > it converts instances of > > memcpy(to, from, len); > to[len] = 0; > > into > > strlcpy(to, from, len); > > I need a bit of help troubleshooting this one. I have tried > running t0000-basic.sh using "bash -x", but that did not help > me this time. >
Well, there are differences. Correct translation from memcpy to strlcpy (aside the fact with \0 inside the string) would be something like:
strlcpy(to, from, len + 1);
assuming your example with memcpy. strlcpy expects size of storage, and will never write more bytes that it was allowed to. That'll cut off last character of the source string, unless it is \0-terminated before the size of storage.