Zero out otherwise uninitialized padding in make_unbuffered_packet_out().
[openvswitch] / lib / vconn.c
index 3e06dc344ddd31758dbedd4889d00462552fa9e7..723146ad3e6602fcde8e7ccddc9af274c7272caa 100644 (file)
@@ -217,6 +217,13 @@ vconn_close(struct vconn *vconn)
     }
 }
 
+/* Returns the name of 'vconn', that is, the string passed to vconn_open(). */
+const char *
+vconn_get_name(const struct vconn *vconn)
+{
+    return vconn->name;
+}
+
 /* Returns true if 'vconn' is a passive vconn, that is, its purpose is to
  * wait for connections to arrive, not to transfer data.  Returns false if
  * 'vconn' is an active vconn, that is, its purpose is to transfer data, not
@@ -545,7 +552,7 @@ make_unbuffered_packet_out(const struct buffer *packet,
     size_t size = sizeof *opo + sizeof opo->actions[0];
     struct buffer *out = buffer_new(size + packet->size);
     opo = buffer_put_uninit(out, size);
-    memset(opo, 0, sizeof *opo);
+    memset(opo, 0, size);
     opo->header.version = OFP_VERSION;
     opo->header.type = OFPT_PACKET_OUT;
     opo->buffer_id = htonl(UINT32_MAX);