Author: markj
Date: Thu Dec 11 00:41:54 2014
New Revision: 275695
URL: https://svnweb.freebsd.org/changeset/base/275695

Log:
  Fix a bug in r266857: nd6_dad_find() must return NULL if it doesn't find
  a matching element in the DAD queue.
  
  Reported by:  Holger Hans Peter Freyther <hol...@freyther.de>
  MFC after:    3 days

Modified:
  head/sys/netinet6/nd6_nbr.c

Modified: head/sys/netinet6/nd6_nbr.c
==============================================================================
--- head/sys/netinet6/nd6_nbr.c Thu Dec 11 00:25:26 2014        (r275694)
+++ head/sys/netinet6/nd6_nbr.c Thu Dec 11 00:41:54 2014        (r275695)
@@ -1210,11 +1210,12 @@ nd6_dad_find(struct ifaddr *ifa)
        TAILQ_FOREACH(dp, &V_dadq, dad_list)
                if (dp->dad_ifa == ifa) {
                        refcount_acquire(&dp->dad_refcnt);
-                       break;
+                       DADQ_RUNLOCK();
+                       return (dp);
                }
        DADQ_RUNLOCK();
 
-       return (dp);
+       return (NULL);
 }
 
 static void
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to