Module: xenomai-forge
Branch: next
Commit: 5dd4e10155bdc0701ccdbf6fa44daf92924b7d28
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=5dd4e10155bdc0701ccdbf6fa44daf92924b7d28

Author: Paul Janzen <p...@xenomai.sez.to>
Date:   Sun Mar 17 11:56:46 2013 -0700

drivers/can: fix tx_timeout buffer size inconsistency

When formatting /proc/rtcan/sockets, tx_timeout is defined as
char[16], but a length of 20 is passed to rtcan_get_timeout_name. If
tx_timeout for any socket is infinite, this causes snprintf to zero
outside the buffer, leading to stack overflow and a kernel panic.
Make the tx_timeout buffer 20 bytes long instead.

Signed-off-by: Paul Janzen <p...@xenomai.sez.to>
Acked-by: Wolfgang Grandegger <w...@grandegger.com>

---

 kernel/drivers/can/rtcan_module.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/drivers/can/rtcan_module.c 
b/kernel/drivers/can/rtcan_module.c
index 3ebc333..f270f65 100644
--- a/kernel/drivers/can/rtcan_module.c
+++ b/kernel/drivers/can/rtcan_module.c
@@ -165,7 +165,7 @@ static int rtcan_read_proc_sockets(char *buf, char **start, 
off_t offset,
     struct rtdm_dev_context *context;
     struct rtcan_device *dev;
     char name[IFNAMSIZ] = "not-bound";
-    char rx_timeout[20], tx_timeout[16];
+    char rx_timeout[20], tx_timeout[20];
     rtdm_lockctx_t lock_ctx;
     int ifindex;
     RTCAN_PROC_PRINT_VARS(120);


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to