Bugzilla – Attachment 26775 Details for
Bug 63895
VUL-0: CVE-2004-1137: kernel: bug in IGMP code
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
[patch]
igmp-patch.diff
igmp-patch.diff (text/plain), 1.97 KB, created by
Thomas Biege
on 2004-12-06 19:11:05 UTC
(
hide
)
Description:
igmp-patch.diff
Filename:
MIME Type:
Creator:
Thomas Biege
Created:
2004-12-06 19:11:05 UTC
Size:
1.97 KB
patch
obsolete
>===== net/ipv4/igmp.c 1.58 vs edited ===== >--- 1.58/net/ipv4/igmp.c 2004-11-09 16:44:25 -08:00 >+++ edited/net/ipv4/igmp.c 2004-12-04 01:14:53 -08:00 >@@ -1774,16 +1774,16 @@ int ip_mc_source(int add, int omode, str > > psl = pmc->sflist; > if (!add) { >- if (!psl) >+ if (!psl || !psl->sl_count) > goto done; >- rv = !0; >+ rv = 1; > for (i=0; i<psl->sl_count; i++) { >- rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr, >+ rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr, > sizeof(__u32)); >- if (rv >= 0) >+ if (rv >= 0) /* array is sorted */ > break; > } >- if (!rv) /* source not found */ >+ if (rv) /* source not found */ > goto done; > > /* update the interface filter */ >@@ -1825,7 +1825,7 @@ int ip_mc_source(int add, int omode, str > } > rv = 1; /* > 0 for insert logic below if sl_count is 0 */ > for (i=0; i<psl->sl_count; i++) { >- rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr, >+ rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr, > sizeof(__u32)); > if (rv >= 0) > break; >===== net/ipv6/mcast.c 1.71 vs edited ===== >--- 1.71/net/ipv6/mcast.c 2004-11-11 15:07:25 -08:00 >+++ edited/net/ipv6/mcast.c 2004-12-04 01:27:20 -08:00 >@@ -387,16 +387,16 @@ int ip6_mc_source(int add, int omode, st > > psl = pmc->sflist; > if (!add) { >- if (!psl) >+ if (!psl || !psl->sl_count) > goto done; >- rv = !0; >+ rv = 1; > for (i=0; i<psl->sl_count; i++) { >- rv = memcmp(&psl->sl_addr, group, >+ rv = memcmp(&psl->sl_addr[i], source, > sizeof(struct in6_addr)); >- if (rv >= 0) >+ if (rv >= 0) /* array is sorted */ > break; > } >- if (!rv) /* source not found */ >+ if (rv) /* source not found */ > goto done; > > /* update the interface filter */ >@@ -437,7 +437,7 @@ int ip6_mc_source(int add, int omode, st > } > rv = 1; /* > 0 for insert logic below if sl_count is 0 */ > for (i=0; i<psl->sl_count; i++) { >- rv = memcmp(&psl->sl_addr, group, sizeof(struct in6_addr)); >+ rv = memcmp(&psl->sl_addr[i], source, sizeof(struct in6_addr)); > if (rv >= 0) > break; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 63895
:
26775
|
26806
|
26889
|
26996
|
27005
|
27011