staging: r8712u: Fix possible buffer overrun
authorLarry Finger <Larry.Finger@lwfinger.net>
Tue, 27 Nov 2012 18:08:44 +0000 (12:08 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Nov 2012 16:49:21 +0000 (08:49 -0800)
In routine r8712_report_sec_ie(), the code could set the length
of the buffer to 256; however, that value is one larger than the
corresponding memory allocation.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8712/mlme_linux.c

index abf96c14df93a34a5ee2709146f3ea16fcdb10cb..7279854c86aa4e1dccccbd6d363d6ab3c28bec79 100644 (file)
@@ -156,7 +156,7 @@ void r8712_report_sec_ie(struct _adapter *adapter, u8 authmode, u8 *sec_ie)
                p = buff;
                p += sprintf(p, "ASSOCINFO(ReqIEs=");
                len = sec_ie[1] + 2;
-               len =  (len < IW_CUSTOM_MAX) ? len : IW_CUSTOM_MAX;
+               len =  (len < IW_CUSTOM_MAX) ? len : IW_CUSTOM_MAX - 1;
                for (i = 0; i < len; i++)
                        p += sprintf(p, "%02x", sec_ie[i]);
                p += sprintf(p, ")");