From: Paul Durrant Date: Fri, 15 Aug 2014 10:14:37 +0000 (+0100) Subject: Fix/suppress prefast warnings X-Git-Tag: 8.1.0-rc1~17 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=400d5c86b248bbc3056569b9d4256efbc3e60767;p=pvdrivers%2Fwin%2Fxeniface.git Fix/suppress prefast warnings Signed-off-by: Paul Durrant --- diff --git a/src/win32stubagent/WmiAccessor.cpp b/src/win32stubagent/WmiAccessor.cpp index d585e77..288b801 100644 --- a/src/win32stubagent/WmiAccessor.cpp +++ b/src/win32stubagent/WmiAccessor.cpp @@ -242,7 +242,7 @@ static string wstring2string(const wstring& wstr) wstr.c_str(), -1, &str[0], - str.length(), + (int)str.length(), NULL, NULL); @@ -609,13 +609,13 @@ QueryVariant(WMIAccessor *wmi, PWCHAR field, PWCHAR table, VARIANT *vt) { IEnumWbemClassObject *pEnum; BSTR query; - unsigned query_len; + size_t query_len; IWbemClassObject *pclsObj; HRESULT hr; ULONG uReturn; query_len = strlen("SELECT FROM ") + wcslen(field) + wcslen(table) + 1; - query = SysAllocStringLen(NULL, query_len); + query = SysAllocStringLen(NULL, (UINT)query_len); if (query == NULL) { hr = E_OUTOFMEMORY; goto err; @@ -868,9 +868,9 @@ IWbemClassObject *openSession(WMIAccessor** wmi, const char *sessionname) if (FAILED(outMethodInst->Get(L"SessionId", 0, &var, NULL, NULL))) goto outmethodgetfailed; - ULONG query_len; + size_t query_len; query_len = strlen("SELECT * FROM CitrixXenStoreSession WHERE SessionId=")+10; - query = SysAllocStringLen(NULL, query_len); + query = SysAllocStringLen(NULL, (UINT)query_len); if (query == NULL) goto allocqueryfailed; @@ -1160,7 +1160,6 @@ sessionstart: OutputDebugString(__FUNCTION__ " SessionStartFailed"); VariantClear(&vpath); -sessionExec: OutputDebugString(__FUNCTION__ " SessionExecFailed"); setvpath: OutputDebugString(__FUNCTION__ " SetVpathFailed"); diff --git a/src/win32stubagent/XService.cpp b/src/win32stubagent/XService.cpp index dd41ca4..1fbb138 100644 --- a/src/win32stubagent/XService.cpp +++ b/src/win32stubagent/XService.cpp @@ -681,7 +681,9 @@ static bool hosttimeIsUTC() utc=true; } +#ifdef _WIN64 done: +#endif RegCloseKey(InstallRegKey); return utc; diff --git a/src/xeniface/wmi.c b/src/xeniface/wmi.c index 5d7bce7..91aa2e9 100644 --- a/src/xeniface/wmi.c +++ b/src/xeniface/wmi.c @@ -55,14 +55,15 @@ void LockSessions( ExAcquireFastMutex(&fdoData->SessionLock); } + __drv_requiresIRQL(APC_LEVEL) __drv_restoresIRQLGlobal(OldIrql, fdoData->SessionLock) void UnlockSessions( XENIFACE_FDO* fdoData) { ASSERT(KeGetCurrentIrql() == APC_LEVEL); +#pragma prefast (suppress:26110) ExReleaseFastMutex(&fdoData->SessionLock); - } void GetUnicodeString(UNICODE_STRING *unicode, USHORT maxlength, LPWSTR location) @@ -1528,6 +1529,7 @@ SessionExecuteRemoveWatch(UCHAR *InBuffer, else { XenIfaceDebugPrint(WARNING, "No Watch\n"); } +#pragma prefast (suppress:26110) ExReleaseFastMutex(&session->WatchMapLock); UnlockSessions(fdoData);