aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-07-10 00:31:11 -0400
committerDavid S. Miller <davem@davemloft.net>2010-07-12 23:21:43 -0400
commit84ce981a076c6b2d3efec66bf92a91d1aa80c983 (patch)
tree901ef430a4acbab2e2d92a15f7146b9e709e3eb0 /drivers/isdn
parent5c4bfa17f3ec46becec4b23d12323f7605ebd696 (diff)
isdn: fix strlen() usage
There was a missing "else" statement so the original code overflowed if ->master->name was too long. Also the ->slave and ->master buffers can hold names with 9 characters and a NULL so I cleaned it up to allow another character. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn')
-rw-r--r--drivers/isdn/i4l/isdn_net.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c
index 8c85d1e88cc6..26d44c3ca1d8 100644
--- a/drivers/isdn/i4l/isdn_net.c
+++ b/drivers/isdn/i4l/isdn_net.c
@@ -2924,16 +2924,17 @@ isdn_net_getcfg(isdn_net_ioctl_cfg * cfg)
2924 cfg->dialtimeout = lp->dialtimeout >= 0 ? lp->dialtimeout / HZ : -1; 2924 cfg->dialtimeout = lp->dialtimeout >= 0 ? lp->dialtimeout / HZ : -1;
2925 cfg->dialwait = lp->dialwait / HZ; 2925 cfg->dialwait = lp->dialwait / HZ;
2926 if (lp->slave) { 2926 if (lp->slave) {
2927 if (strlen(lp->slave->name) > 8) 2927 if (strlen(lp->slave->name) >= 10)
2928 strcpy(cfg->slave, "too-long"); 2928 strcpy(cfg->slave, "too-long");
2929 else 2929 else
2930 strcpy(cfg->slave, lp->slave->name); 2930 strcpy(cfg->slave, lp->slave->name);
2931 } else 2931 } else
2932 cfg->slave[0] = '\0'; 2932 cfg->slave[0] = '\0';
2933 if (lp->master) { 2933 if (lp->master) {
2934 if (strlen(lp->master->name) > 8) 2934 if (strlen(lp->master->name) >= 10)
2935 strcpy(cfg->master, "too-long"); 2935 strcpy(cfg->master, "too-long");
2936 strcpy(cfg->master, lp->master->name); 2936 else
2937 strcpy(cfg->master, lp->master->name);
2937 } else 2938 } else
2938 cfg->master[0] = '\0'; 2939 cfg->master[0] = '\0';
2939 return 0; 2940 return 0;