For function odp_nsh_hdr_from_attr, paramemter `attr` may not contain all necessary OVS_NSH_KEY_ATTR_ to fully initialize data of nsh_hdr. On return, nsh_hdr can contain uninitialized values in its fields.
This patch zeroes out nsh_hdr in the beginning in order to prevent it. Reported-by: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10863 Signed-off-by: Yifeng Sun <[email protected]> --- lib/odp-util.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/odp-util.c b/lib/odp-util.c index d156fa7265de..1a52f3bc5ad9 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -2559,6 +2559,8 @@ odp_nsh_hdr_from_attr(const struct nlattr *attr, bool has_md1 = false; bool has_md2 = false; + memset(nsh_hdr, 0, size); + NL_NESTED_FOR_EACH (a, left, attr) { uint16_t type = nl_attr_type(a); size_t len = nl_attr_get_size(a); -- 2.7.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
