[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1300583807.5092.5.camel@dan>
Date: Sat, 19 Mar 2011 21:16:47 -0400
From: Dan Rosenberg <drosenberg@...curity.com>
To: samuel@...tiz.org, davem@...emloft.net
Cc: netdev@...r.kernel.org, security@...nel.org
Subject: [PATCH] irda: prevent heap corruption on invalid nickname
Invalid nicknames containing only spaces will result in an underflow in
a memcpy size calculation, subsequently destroying the heap and
panicking.
Signed-off-by: Dan Rosenberg <drosenberg@...curity.com>
Cc: stable@...nel.org
---
net/irda/irnet/irnet_ppp.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/net/irda/irnet/irnet_ppp.c b/net/irda/irnet/irnet_ppp.c
index 7c567b8..881ee51 100644
--- a/net/irda/irnet/irnet_ppp.c
+++ b/net/irda/irnet/irnet_ppp.c
@@ -105,6 +105,9 @@ irnet_ctrl_write(irnet_socket * ap,
while(isspace(start[length - 1]))
length--;
+ DABORT(length < 5, -EINVAL,
+ CTRL_ERROR, "Invalid nickname.\n");
+
/* Copy the name for later reuse */
memcpy(ap->rname, start + 5, length - 5);
ap->rname[length - 5] = '\0';
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists