Message ID | 20181218132508.18672-1-yuehaibing@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,-next] staging: fbtft: use strcmp() instead of strncmp() for | expand |
On Tue, Dec 18, 2018 at 09:25:08PM +0800, YueHaibing wrote: > strncmp() stops comparing when either the end of one of the first two > arguments is reached or when 'n' characters have been compared, whichever > comes first.That means that strncmp(s1, s2, n) is equivalent to > strcmp(s1, s2) if n exceeds the length of s1 or the length of s2. > > This patch avoids that the following warning is reported by smatch: > > drivers/staging/fbtft/fbtft_device.c:1458 > fbtft_device_init() error: strncmp() '"list"' too small (5 vs 32) > > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > --- > v2: fix patch title v2 is worse than v1... v1 is a little long but I wouldn't have complained about it. Please assume that the subject and the commit message are separate things. Take a look how the patch description reads on marc.info: https://marc.info/?l=linux-driver-devel&m=154513957719226&w=2 regards, dan carpenter
On 2018/12/18 21:37, Dan Carpenter wrote: > On Tue, Dec 18, 2018 at 09:25:08PM +0800, YueHaibing wrote: >> strncmp() stops comparing when either the end of one of the first two >> arguments is reached or when 'n' characters have been compared, whichever >> comes first.That means that strncmp(s1, s2, n) is equivalent to >> strcmp(s1, s2) if n exceeds the length of s1 or the length of s2. >> >> This patch avoids that the following warning is reported by smatch: >> >> drivers/staging/fbtft/fbtft_device.c:1458 >> fbtft_device_init() error: strncmp() '"list"' too small (5 vs 32) >> >> Signed-off-by: YueHaibing <yuehaibing@huawei.com> >> --- >> v2: fix patch title > > v2 is worse than v1... Yes, ...., I messed up. I will fix it. > > v1 is a little long but I wouldn't have complained about it. > > Please assume that the subject and the commit message are separate > things. Take a look how the patch description reads on marc.info: > > https://marc.info/?l=linux-driver-devel&m=154513957719226&w=2 > > regards, > dan carpenter > > > . >
diff --git a/drivers/staging/fbtft/fbtft_device.c b/drivers/staging/fbtft/fbtft_device.c index 50e97da..0e995028 100644 --- a/drivers/staging/fbtft/fbtft_device.c +++ b/drivers/staging/fbtft/fbtft_device.c @@ -1455,7 +1455,7 @@ static int __init fbtft_device_init(void) } /* name=list lists all supported displays */ - if (strncmp(name, "list", FBTFT_GPIO_NAME_SIZE) == 0) { + if (strcmp(name, "list") == 0) { pr_info("Supported displays:\n"); for (i = 0; i < ARRAY_SIZE(displays); i++)
strncmp() stops comparing when either the end of one of the first two arguments is reached or when 'n' characters have been compared, whichever comes first.That means that strncmp(s1, s2, n) is equivalent to strcmp(s1, s2) if n exceeds the length of s1 or the length of s2. This patch avoids that the following warning is reported by smatch: drivers/staging/fbtft/fbtft_device.c:1458 fbtft_device_init() error: strncmp() '"list"' too small (5 vs 32) Signed-off-by: YueHaibing <yuehaibing@huawei.com> --- v2: fix patch title --- drivers/staging/fbtft/fbtft_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)