bgpd: Fix mistakes in applying 'allow inbound connections to non-default view'

* bgpd.c: (peer_lookup_with_open) Bodged application of previous patch
  meant the second loop around bgp->peer wasn't included in the loop
  around bm->bgp as it was supposed to be. Fix..
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 274180b..b34f996 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -2169,38 +2169,40 @@
 		       struct in_addr *remote_id, int *as)
 {
   struct peer *peer;
-  struct listnode *node, *nnode;
-  struct listnode *bgpnode, *nbgpnode;
+  struct listnode *node;
+  struct listnode *bgpnode;
   struct bgp *bgp;
 
   if (! bm->bgp)
     return NULL;
 
-  for (ALL_LIST_ELEMENTS (bm->bgp, bgpnode, nbgpnode, bgp))
-    for (ALL_LIST_ELEMENTS (bgp->peer, node, nnode, peer))
-      {
-        if (sockunion_same (&peer->su, su)
-            && ! CHECK_FLAG (peer->sflags, PEER_STATUS_ACCEPT_PEER))
-          {
-            if (peer->as == remote_as
-                && peer->remote_id.s_addr == remote_id->s_addr)
-              return peer;
-            if (peer->as == remote_as)
-              *as = 1;
-          }
-      }
-
-  for (ALL_LIST_ELEMENTS (bgp->peer, node, nnode, peer))
+  for (ALL_LIST_ELEMENTS_RO (bm->bgp, bgpnode, bgp))
     {
-      if (sockunion_same (&peer->su, su)
-	  &&  ! CHECK_FLAG (peer->sflags, PEER_STATUS_ACCEPT_PEER))
-	{
-	  if (peer->as == remote_as
-	      && peer->remote_id.s_addr == 0)
-	    return peer;
-	  if (peer->as == remote_as)
-	    *as = 1;
-	}
+      for (ALL_LIST_ELEMENTS_RO (bgp->peer, node, peer))
+        {
+          if (sockunion_same (&peer->su, su)
+              && ! CHECK_FLAG (peer->sflags, PEER_STATUS_ACCEPT_PEER))
+            {
+              if (peer->as == remote_as
+                  && peer->remote_id.s_addr == remote_id->s_addr)
+                return peer;
+              if (peer->as == remote_as)
+                *as = 1;
+            }
+        }
+
+      for (ALL_LIST_ELEMENTS_RO (bgp->peer, node, peer))
+        {
+          if (sockunion_same (&peer->su, su)
+              &&  ! CHECK_FLAG (peer->sflags, PEER_STATUS_ACCEPT_PEER))
+            {
+              if (peer->as == remote_as
+                  && peer->remote_id.s_addr == 0)
+                return peer;
+              if (peer->as == remote_as)
+                *as = 1;
+            }
+        }
     }
   return NULL;
 }