This patch checks if the TCP or ICMP header exists before trying to use them.
The issue was found using the driver under low resources. Signed-off-by: Alin Gabriel Serdean <[email protected]> --- datapath-windows/ovsext/Conntrack.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c index e663c3b..56a7cbc 100644 --- a/datapath-windows/ovsext/Conntrack.c +++ b/datapath-windows/ovsext/Conntrack.c @@ -194,7 +194,7 @@ OvsCtEntryCreate(PNET_BUFFER_LIST curNbl, TCPHdr tcpStorage; const TCPHdr *tcp; tcp = OvsGetTcp(curNbl, l4Offset, &tcpStorage); - if (!OvsConntrackValidateTcpPacket(tcp)) { + if (!tcp || !OvsConntrackValidateTcpPacket(tcp)) { goto invalid; } @@ -215,7 +215,7 @@ OvsCtEntryCreate(PNET_BUFFER_LIST curNbl, ICMPHdr storage; const ICMPHdr *icmp; icmp = OvsGetIcmp(curNbl, l4Offset, &storage); - if (!OvsConntrackValidateIcmpPacket(icmp)) { + if (!icmp || !OvsConntrackValidateIcmpPacket(icmp)) { goto invalid; } -- 2.10.2.windows.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
