fix a problem with the firewall script (multicast traffic could produce packet loss)
[openwrt.git] / package / madwifi / patches / 105-security_patch_fix.patch
index df0ea4d..96dc17a 100644 (file)
@@ -1,27 +1,27 @@
-The fix for CVE-2006-6332 in r1842 was not entirely correct. In\r
-encode_ie() the bound check did not consider that each byte from\r
-the IE causes two bytes to be written into buffer. That could\r
-lead to a kernel oops, but does not allow code injection. This is\r
-now fixed.\r
-\r
-Due to the type of this problem it does not trigger another\r
-urgent security bugfix release. v0.9.3 is at the door anyway.\r
-\r
-Reported-by: Joachim Gleisner <jg@suse.de> \r
-\r
-Index: trunk/net80211/ieee80211_wireless.c\r
-===================================================================\r
---- trunk/net80211/ieee80211_wireless.c (revision 1846)\r
-+++ trunk/net80211/ieee80211_wireless.c (revision 1847)\r
-@@ -1566,8 +1566,8 @@\r
-       bufsize -= leader_len;\r
-       p += leader_len;\r
--      if (bufsize < ielen)\r
--              return 0;\r
--      for (i = 0; i < ielen && bufsize > 2; i++)\r
-+      for (i = 0; i < ielen && bufsize > 2; i++) {\r
-               p += sprintf(p, "%02x", ie[i]);\r
-+              bufsize -= 2;\r
-+      }\r
-       return (i == ielen ? p - (u_int8_t *)buf : 0);\r
- }\r
+The fix for CVE-2006-6332 in r1842 was not entirely correct. In
+encode_ie() the bound check did not consider that each byte from
+the IE causes two bytes to be written into buffer. That could
+lead to a kernel oops, but does not allow code injection. This is
+now fixed.
+
+Due to the type of this problem it does not trigger another
+urgent security bugfix release. v0.9.3 is at the door anyway.
+
+Reported-by: Joachim Gleisner <jg@suse.de> 
+
+Index: trunk/net80211/ieee80211_wireless.c
+===================================================================
+--- trunk/net80211/ieee80211_wireless.c (revision 1846)
++++ trunk/net80211/ieee80211_wireless.c (revision 1847)
+@@ -1566,8 +1566,8 @@
+       bufsize -= leader_len;
+       p += leader_len;
+-      if (bufsize < ielen)
+-              return 0;
+-      for (i = 0; i < ielen && bufsize > 2; i++)
++      for (i = 0; i < ielen && bufsize > 2; i++) {
+               p += sprintf(p, "%02x", ie[i]);
++              bufsize -= 2;
++      }
+       return (i == ielen ? p - (u_int8_t *)buf : 0);
+ }
This page took 0.04053 seconds and 4 git commands to generate.