VPP-1692: move NULL pointer check 11/19911/1
authorDave Barach <dave@barachs.net>
Fri, 31 May 2019 12:41:34 +0000 (08:41 -0400)
committerDave Barach <dave@barachs.net>
Fri, 31 May 2019 12:42:20 +0000 (08:42 -0400)
TBH, this looks like merge damage or some such. Perfectly fine NULL pointer
check, about three lines after it was needed.

Change-Id: I52831062e30533a59fb76b644ee5ae389676d2ae
Signed-off-by: Dave Barach <dave@barachs.net>
src/vnet/ip/ip4_forward.c

index f3819e3..d8eed67 100644 (file)
@@ -1820,11 +1820,6 @@ ip4_arp_inline (vlib_main_t * vm,
            vlib_packet_template_get_packet (vm,
                                             &im->ip4_arp_request_packet_template,
                                             &bi0);
-         b0 = vlib_get_buffer (vm, bi0);
-
-         /* copy the persistent fields from the original */
-         clib_memcpy_fast (b0->opaque2, p0->opaque2, sizeof (p0->opaque2));
-
          /* Seems we're out of buffers */
          if (PREDICT_FALSE (!h0))
            {
@@ -1832,6 +1827,11 @@ ip4_arp_inline (vlib_main_t * vm,
              continue;
            }
 
+         b0 = vlib_get_buffer (vm, bi0);
+
+         /* copy the persistent fields from the original */
+         clib_memcpy_fast (b0->opaque2, p0->opaque2, sizeof (p0->opaque2));
+
          /* Add rewrite/encap string for ARP packet. */
          vnet_rewrite_one_header (adj0[0], h0, sizeof (ethernet_header_t));