Comment 28 for bug 613796

Julian Andres Klode (juliank) wrote :

For the kernel people: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-maverick.git;a=blobdiff;f=ubuntu/ndiswrapper/wrapndis.c;h=2ac89e7e239ead3608f64cc3983f5815c959636c;hp=404e1e37975b67d2e60ef1fce48daa982ef61beb;hb=e2fce7c6af6e1bcd2f577304a5200738d076d98f;hpb=c0b4a32572ce935ec02982b549afb77e44e446bb is wrong, you forget to check for (i < size) in the loop body, you need to apply the following patch*:

--- a/ubuntu/ndiswrapper/wrapndis.c
+++ b/ubuntu/ndiswrapper/wrapndis.c
                netdev_for_each_mc_addr(ha, net_dev) {
+ if (i >= size) break;
                        if (net_dev->addr_len != ETH_ALEN)

* This patch is hand-written, it may or may not apply using patch(1).