oh, sorry, it is my fault. according to fill_write_buffer in fs/sysfs/file.c, we can assume that 'const char *buf' must be '\0' based string. please skip original reply. gchen. 于 2013年01月20日 17:31, Chen Gang 写道: > Hello all: > > sorry, after checking the details: > I think this patch is incorrect. > we can not assume that the parameter "char *buf" is terminated by '\0' > so we should only use strlcpy instead of strncpy, without touching 'min(...' > > since it is already integrated into main branch (at least, in next-20130118). > I should send additional patch to fix it. > > please help to check, thanks. > > > gchen. > > > 于 2013年01月07日 12:42, Chen Gang 写道: >> >> The fields must be null-terminated, or simple_strtoul will cause issue. >> >> Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx> >> --- >> drivers/net/wireless/iwlegacy/3945-mac.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c >> index d604b40..3726cd6 100644 >> --- a/drivers/net/wireless/iwlegacy/3945-mac.c >> +++ b/drivers/net/wireless/iwlegacy/3945-mac.c >> @@ -3273,7 +3273,7 @@ il3945_store_measurement(struct device *d, struct device_attribute *attr, >> >> if (count) { >> char *p = buffer; >> - strncpy(buffer, buf, min(sizeof(buffer), count)); >> + strlcpy(buffer, buf, sizeof(buffer)); >> channel = simple_strtoul(p, NULL, 0); >> if (channel) >> params.channel = channel; >> > > -- Chen Gang Flying Transformer
begin:vcard fn:Chen Gang n:;Chen Gang version:2.1 end:vcard