Re: [PATCH] net/rds: using strlcpy instead of strncpy
From: Chen Gang <hidden>
Date: 2013-03-05 04:09:40
From: Chen Gang <hidden>
Date: 2013-03-05 04:09:40
于 2013年03月05日 11:37, Ben Hutchings 写道:
quoted
I think what I have done is just like your choice "2."quoted
for me, I think they are equal: - strncpy(ctr.name, names[i], sizeof(ctr.name) - 1); + strlcpy(ctr.name, names[i], sizeof(ctr.name)); strncpy(ctr.name, names[i], sizeof(ctr.name) - 1); + ctr.name[sizeof(ctr.name) - 1] = '\0';They are not. strncpy() pads with zeroes to the end of the given buffer whereas strlcpy() adds only a single zero byte (and truncates if necessary to fit the zero byte).
ok, thank you. they are really not the same (originally, I did not
notice it)
could you supply the reason:
why need we zero all of ctr.name ?
(for me, I think, keeping ctr.name just a zero-based string is ok)
thanks.
:-)
--
Chen Gang
Asianux Corporation