aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/ipv6/mcast.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index f25002aaf624..8460a1f54a76 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -376,8 +376,7 @@ int ip6_mc_source(int add, int omode, struct sock *sk,
376 goto done; /* err = -EADDRNOTAVAIL */ 376 goto done; /* err = -EADDRNOTAVAIL */
377 rv = !0; 377 rv = !0;
378 for (i=0; i<psl->sl_count; i++) { 378 for (i=0; i<psl->sl_count; i++) {
379 rv = memcmp(&psl->sl_addr[i], source, 379 rv = !ipv6_addr_equal(&psl->sl_addr[i], source);
380 sizeof(struct in6_addr));
381 if (rv == 0) 380 if (rv == 0)
382 break; 381 break;
383 } 382 }
@@ -427,7 +426,7 @@ int ip6_mc_source(int add, int omode, struct sock *sk,
427 } 426 }
428 rv = 1; /* > 0 for insert logic below if sl_count is 0 */ 427 rv = 1; /* > 0 for insert logic below if sl_count is 0 */
429 for (i=0; i<psl->sl_count; i++) { 428 for (i=0; i<psl->sl_count; i++) {
430 rv = memcmp(&psl->sl_addr[i], source, sizeof(struct in6_addr)); 429 rv = !ipv6_addr_equal(&psl->sl_addr[i], source);
431 if (rv == 0) 430 if (rv == 0)
432 break; 431 break;
433 } 432 }