From 263e428e152d56eba2d04e6429dfcb8477146f9c Mon Sep 17 00:00:00 2001 From: Alin Serdean Date: Mon, 6 Nov 2017 17:33:37 +0200 Subject: datapath-windows: Fix static analysis warnings in OvsGetTcpPayloadLength This fixes the static code analysis over the function 'OvsGetTcpPayloadLength'. Signed-off-by: Alin Gabriel Serdean Acked-by: Shashank Ram --- datapath-windows/ovsext/Conntrack.h | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'datapath-windows/ovsext/Conntrack.h') diff --git a/datapath-windows/ovsext/Conntrack.h b/datapath-windows/ovsext/Conntrack.h index be5f34dc5..ef1fe21c2 100644 --- a/datapath-windows/ovsext/Conntrack.h +++ b/datapath-windows/ovsext/Conntrack.h @@ -157,20 +157,17 @@ static __inline UINT32 OvsGetTcpPayloadLength(PNET_BUFFER_LIST nbl) { IPHdr *ipHdr; - char *ipBuf[sizeof(IPHdr)]; - PNET_BUFFER curNb; - curNb = NET_BUFFER_LIST_FIRST_NB(nbl); - UINT32 hdrLen = sizeof(EthHdr); - NdisAdvanceNetBufferDataStart(curNb, hdrLen, FALSE, NULL); - ipHdr = NdisGetDataBuffer(curNb, sizeof *ipHdr, (PVOID) &ipBuf, - 1 /*no align*/, 0); + TCPHdr *tcp; + char *ipBuf[sizeof(EthHdr) + sizeof(IPHdr) + sizeof(TCPHdr)]; + + ipHdr = NdisGetDataBuffer(NET_BUFFER_LIST_FIRST_NB(nbl), sizeof *ipBuf, + (PVOID)&ipBuf, 1 /*no align*/, 0); if (ipHdr == NULL) { - NdisRetreatNetBufferDataStart(curNb, hdrLen, 0, NULL); return 0; } - TCPHdr *tcp = (TCPHdr *)((PCHAR)ipHdr + ipHdr->ihl * 4); - NdisRetreatNetBufferDataStart(curNb, hdrLen, 0, NULL); + ipHdr = (IPHdr *)((PCHAR)ipHdr + sizeof(EthHdr)); + tcp = (TCPHdr *)((PCHAR)ipHdr + ipHdr->ihl * 4); return (ntohs(ipHdr->tot_len) - (ipHdr->ihl * 4) - (TCP_HDR_LEN(tcp))); } -- cgit v1.2.1