summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/User.c
diff options
context:
space:
mode:
authorPaul Boca <pboca@cloudbasesolutions.com>2016-04-27 08:05:47 +0000
committerBen Pfaff <blp@ovn.org>2016-05-16 22:04:58 -0700
commite6b298ef73816355e94e22a7df0cd28414957087 (patch)
tree502a15bcf85497676f561f13e5fcb8b98dd19e67 /datapath-windows/ovsext/User.c
parent59936df6f45cf554ca201a08d8335af04d82a82c (diff)
downloadopenvswitch-e6b298ef73816355e94e22a7df0cd28414957087.tar.gz
datapath-windows: Validate Netlink packets' integrity.
Solved access violation when trying to access Netlink message - obtained with forged IOCTLs. Signed-off-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/User.c')
-rw-r--r--datapath-windows/ovsext/User.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c
index 34f38f45f..f2e3c1791 100644
--- a/datapath-windows/ovsext/User.c
+++ b/datapath-windows/ovsext/User.c
@@ -345,8 +345,9 @@ OvsNlExecuteCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
POVS_MESSAGE_ERROR msgError = (POVS_MESSAGE_ERROR)
usrParamsCtx->outputBuffer;
- NlBuildErrorMsg(msgIn, msgError, nlError);
- *replyLen = msgError->nlMsg.nlmsgLen;
+ UINT32 msgErrorLen = usrParamsCtx->outputLength;
+
+ NlBuildErrorMsg(msgIn, msgError, msgErrorLen, nlError, replyLen);
status = STATUS_SUCCESS;
goto done;
}