summaryrefslogtreecommitdiff
path: root/drivers/isdn/i4l/isdn_net.c
diff options
context:
space:
mode:
authorAnnie Cherkaev <annie.cherk@gmail.com>2017-07-15 15:08:58 -0600
committerLinus Torvalds <torvalds@linux-foundation.org>2017-08-02 20:43:36 -0700
commit9f5af546e6acc30f075828cb58c7f09665033967 (patch)
tree34c3f3dc904c33796a1ea992a125caf876d049f9 /drivers/isdn/i4l/isdn_net.c
parent4d3f5d04d69e9479a3df88ceb0e2cd8188a49366 (diff)
isdn/i4l: fix buffer overflow
This fixes a potential buffer overflow in isdn_net.c caused by an unbounded strcpy. [ ISDN seems to be effectively unmaintained, and the I4L driver in particular is long deprecated, but in case somebody uses this.. - Linus ] Signed-off-by: Jiten Thakkar <jitenmt@gmail.com> Signed-off-by: Annie Cherkaev <annie.cherk@gmail.com> Cc: Karsten Keil <isdn@linux-pingi.de> Cc: Kees Cook <keescook@chromium.org> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/isdn/i4l/isdn_net.c')
-rw-r--r--drivers/isdn/i4l/isdn_net.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c
index c151c6daa67e..f63a110b7bcb 100644
--- a/drivers/isdn/i4l/isdn_net.c
+++ b/drivers/isdn/i4l/isdn_net.c
@@ -2611,10 +2611,9 @@ isdn_net_newslave(char *parm)
char newname[10];
if (p) {
- /* Slave-Name MUST not be empty */
- if (!strlen(p + 1))
+ /* Slave-Name MUST not be empty or overflow 'newname' */
+ if (strscpy(newname, p + 1, sizeof(newname)) <= 0)
return NULL;
- strcpy(newname, p + 1);
*p = 0;
/* Master must already exist */
if (!(n = isdn_net_findif(parm)))