Marcus Meissner : dinput: Fix dereference pointer after NULL check ( Coverity).

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 5 07:45:07 CST 2007


Module: wine
Branch: master
Commit: 1fc5160ce885a38348d7ebb1d364541785088c4e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1fc5160ce885a38348d7ebb1d364541785088c4e

Author: Marcus Meissner <meissner at suse.de>
Date:   Thu Feb  1 16:08:21 2007 +0100

dinput: Fix dereference pointer after NULL check (Coverity).

---

 dlls/dinput/device.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index 3a32ca5..ee3832b 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -955,7 +955,7 @@ HRESULT WINAPI IDirectInputDevice2WImpl_
 	DWORD dwHow)
 {
     IDirectInputDevice2AImpl *This = (IDirectInputDevice2AImpl *)iface;
-    DWORD dwSize = pdidoi->dwSize;
+    DWORD dwSize;
     LPDIOBJECTDATAFORMAT odf;
     int idx = -1;
 
@@ -990,6 +990,7 @@ HRESULT WINAPI IDirectInputDevice2WImpl_
     if (idx < 0) return DIERR_OBJECTNOTFOUND;
 
     odf = dataformat_to_odf(This->data_format.wine_df, idx);
+    dwSize = pdidoi->dwSize; /* save due to memset below */
     memset(pdidoi, 0, pdidoi->dwSize);
     pdidoi->dwSize   = dwSize;
     if (odf->pguid) pdidoi->guidType = *odf->pguid;




More information about the wine-cvs mailing list