]> git.puffer.fish Git - mirror/frr.git/commitdiff
Set from even if binfo->extra is NULL.
authorGreg Troxel <gdt@ir.bbn.com>
Fri, 17 Sep 2010 14:47:49 +0000 (10:47 -0400)
committerGreg Troxel <gdt@ir.bbn.com>
Fri, 17 Sep 2010 14:47:49 +0000 (10:47 -0400)
bgpd/bgp_packet.c:bgp_update_packet(): When extracting the peer, don't
  fail to extract it because "binfo->extra" is NULL.  While one should
  certainly avoid dereferencing binfo->extra, that's not a good reason
  not to use binfo->peer.

Fixes https://bugzilla.quagga.net/show_bug.cgi?id=497.
Patch by Eric Sobocinksi.

bgpd/bgp_packet.c

index 488ab44160a375163308564d0174616308cf1daa..a5f9552cec52c217983504452112a0c71fa07a28 100644 (file)
@@ -177,10 +177,11 @@ bgp_update_packet (struct peer *peer, afi_t afi, safi_t safi)
          
          if (rn->prn)
            prd = (struct prefix_rd *) &rn->prn->p;
-          if (binfo && binfo->extra)
+          if (binfo)
             {
-              tag = binfo->extra->tag;
               from = binfo->peer;
+              if (binfo->extra)
+                tag = binfo->extra->tag;
             }
           
          bgp_packet_set_marker (s, BGP_MSG_UPDATE);