Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84ce981a authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

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: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5c4bfa17
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -2924,15 +2924,16 @@ isdn_net_getcfg(isdn_net_ioctl_cfg * cfg)
		cfg->dialtimeout = lp->dialtimeout >= 0 ? lp->dialtimeout / HZ : -1;
		cfg->dialwait = lp->dialwait / HZ;
		if (lp->slave) {
			if (strlen(lp->slave->name) > 8)
			if (strlen(lp->slave->name) >= 10)
				strcpy(cfg->slave, "too-long");
			else
				strcpy(cfg->slave, lp->slave->name);
		} else
			cfg->slave[0] = '\0';
		if (lp->master) {
			if (strlen(lp->master->name) > 8)
			if (strlen(lp->master->name) >= 10)
				strcpy(cfg->master, "too-long");
			else
				strcpy(cfg->master, lp->master->name);
		} else
			cfg->master[0] = '\0';