Title: [174470] trunk/Source/WebKit/win
Revision
174470
Author
[email protected]
Date
2014-10-08 12:34:03 -0700 (Wed, 08 Oct 2014)

Log Message

[Win] Resolve various static analyzer warnings in WebKit.
https://bugs.webkit.org/show_bug.cgi?id=137531

Reviewed by Dean Jackson.

* MarshallingHelpers.cpp:
(MarshallingHelpers::safeArrayToIntArray): Handle possible failure of
SafeArrayGetElement call.
(MarshallingHelpers::safeArrayToIUnknownArray): Ditto.
* MemoryStream.cpp:
(MemoryStream::CopyTo): Zero-initialize 'written' to silence warning. 
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::exceededDatabaseQuota): Handle possible failure of
GetModuleFileName.
* WebHistory.cpp:
(getDayBoundaries): Handle possible failure of TzSpecificLocalTimeToSystemTime
* WebView.cpp:
(WebView::shouldInitializeTrackPointHack): Zero initialize return value.
(WebView::dispatchDidReceiveIconFromWebFrame): Avoid possible DeleteObject
call on a null bitmap handle.
(WebView::standardUserAgentWithApplicationName): Get rid of spurious
pointer dereference.

Modified Paths

Diff

Modified: trunk/Source/WebKit/win/ChangeLog (174469 => 174470)


--- trunk/Source/WebKit/win/ChangeLog	2014-10-08 19:24:43 UTC (rev 174469)
+++ trunk/Source/WebKit/win/ChangeLog	2014-10-08 19:34:03 UTC (rev 174470)
@@ -1,3 +1,28 @@
+2014-10-08  Brent Fulgham  <[email protected]>
+
+        [Win] Resolve various static analyzer warnings in WebKit.
+        https://bugs.webkit.org/show_bug.cgi?id=137531
+
+        Reviewed by Dean Jackson.
+
+        * MarshallingHelpers.cpp:
+        (MarshallingHelpers::safeArrayToIntArray): Handle possible failure of
+        SafeArrayGetElement call.
+        (MarshallingHelpers::safeArrayToIUnknownArray): Ditto.
+        * MemoryStream.cpp:
+        (MemoryStream::CopyTo): Zero-initialize 'written' to silence warning. 
+        * WebCoreSupport/WebChromeClient.cpp:
+        (WebChromeClient::exceededDatabaseQuota): Handle possible failure of
+        GetModuleFileName.
+        * WebHistory.cpp:
+        (getDayBoundaries): Handle possible failure of TzSpecificLocalTimeToSystemTime
+        * WebView.cpp:
+        (WebView::shouldInitializeTrackPointHack): Zero initialize return value.
+        (WebView::dispatchDidReceiveIconFromWebFrame): Avoid possible DeleteObject
+        call on a null bitmap handle.
+        (WebView::standardUserAgentWithApplicationName): Get rid of spurious
+        pointer dereference.
+
 2014-10-02  Tim Horton  <[email protected]>
 
         Move PageOverlay[Controller] to WebCore

Modified: trunk/Source/WebKit/win/MarshallingHelpers.cpp (174469 => 174470)


--- trunk/Source/WebKit/win/MarshallingHelpers.cpp	2014-10-08 19:24:43 UTC (rev 174469)
+++ trunk/Source/WebKit/win/MarshallingHelpers.cpp	2014-10-08 19:34:03 UTC (rev 174470)
@@ -237,9 +237,9 @@
     if (len > 0) {
         items = new CFNumberRef[len];
         for (; lBound <= uBound; lBound++) {
-            int num;
+            int num = 0;
             hr = ::SafeArrayGetElement(inArray, &lBound, &num);
-            items[lBound] = intToCFNumberRef(num);
+            items[lBound] = SUCCEEDED(hr) ? intToCFNumberRef(num) : kCFNumberNaN;
         }
     }
     CFArrayRef result = CFArrayCreate(0, (const void**) items, len, &kCFTypeArrayCallBacks);
@@ -255,9 +255,9 @@
     if (SUCCEEDED(hr))
         hr = ::SafeArrayGetUBound(inArray, 1, &uBound);
     long len = (SUCCEEDED(hr)) ? (uBound-lBound+1) : 0;
-    void* items;
+    void* items = nullptr;
     hr = ::SafeArrayAccessData(inArray, &items);
-    CFArrayRef result = CFArrayCreate(0, (const void**) items, len, &kIUnknownArrayCallBacks);
+    CFArrayRef result = SUCCEEDED(hr) ? CFArrayCreate(0, (const void**) items, len, &kIUnknownArrayCallBacks) : nullptr;
     hr = ::SafeArrayUnaccessData(inArray);
     return result;
 }

Modified: trunk/Source/WebKit/win/MemoryStream.cpp (174469 => 174470)


--- trunk/Source/WebKit/win/MemoryStream.cpp	2014-10-08 19:24:43 UTC (rev 174469)
+++ trunk/Source/WebKit/win/MemoryStream.cpp	2014-10-08 19:34:03 UTC (rev 174470)
@@ -192,7 +192,7 @@
         cb.LowPart = (DWORD)-1;
     }
 
-    ULONG written;
+    ULONG written = 0;
     ULONG read = min(cb.LowPart, (ULONG)(m_buffer->size()-m_pos));
     HRESULT hr = pstm->Write(m_buffer->data()+m_pos, read, &written);
     if (pcbWritten) {

Modified: trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp (174469 => 174470)


--- trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp	2014-10-08 19:24:43 UTC (rev 174469)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp	2014-10-08 19:34:03 UTC (rev 174470)
@@ -598,8 +598,9 @@
             HMODULE safariHandle = GetModuleHandleW(L"Safari.exe");
             if (!safariHandle)
                 return;
-            GetModuleFileName(safariHandle, path, WTF_ARRAY_LENGTH(path));
-            DWORD handle;
+            if (!::GetModuleFileName(safariHandle, path, WTF_ARRAY_LENGTH(path)))
+                return;
+            DWORD handle = 0;
             DWORD versionSize = GetFileVersionInfoSize(path, &handle);
             if (!versionSize)
                 return;

Modified: trunk/Source/WebKit/win/WebHistory.cpp (174469 => 174470)


--- trunk/Source/WebKit/win/WebHistory.cpp	2014-10-08 19:24:43 UTC (rev 174469)
+++ trunk/Source/WebKit/win/WebHistory.cpp	2014-10-08 19:34:03 UTC (rev 174470)
@@ -126,12 +126,12 @@
     addDayToSystemTime(beginningOfNextDayLocalTime);
 
     SYSTEMTIME beginningSystemTime;
-    ::TzSpecificLocalTimeToSystemTime(0, &beginningLocalTime, &beginningSystemTime);
-    ::SystemTimeToVariantTime(&beginningSystemTime, &beginningOfDay);
+    if (::TzSpecificLocalTimeToSystemTime(0, &beginningLocalTime, &beginningSystemTime))
+        ::SystemTimeToVariantTime(&beginningSystemTime, &beginningOfDay);
 
     SYSTEMTIME beginningOfNextDaySystemTime;
-    ::TzSpecificLocalTimeToSystemTime(0, &beginningOfNextDayLocalTime, &beginningOfNextDaySystemTime);
-    ::SystemTimeToVariantTime(&beginningOfNextDaySystemTime, &beginningOfNextDay);
+    if (::TzSpecificLocalTimeToSystemTime(0, &beginningOfNextDayLocalTime, &beginningOfNextDaySystemTime))
+        ::SystemTimeToVariantTime(&beginningOfNextDaySystemTime, &beginningOfNextDay);
 }
 
 static inline DATE beginningOfDay(DATE date)

Modified: trunk/Source/WebKit/win/WebView.cpp (174469 => 174470)


--- trunk/Source/WebKit/win/WebView.cpp	2014-10-08 19:24:43 UTC (rev 174469)
+++ trunk/Source/WebKit/win/WebView.cpp	2014-10-08 19:34:03 UTC (rev 174470)
@@ -2692,8 +2692,8 @@
         L"Software\\Synaptics\\SynTPEnh\\UltraNavPS2" };
 
     for (int i = 0; i < 5; ++i) {
-        HKEY trackPointKey;
-        int readKeyResult = ::RegOpenKeyExW(HKEY_CURRENT_USER, trackPointKeys[i], 0, KEY_READ, &trackPointKey);
+        HKEY trackPointKey = nullptr;
+        LSTATUS readKeyResult = ::RegOpenKeyExW(HKEY_CURRENT_USER, trackPointKeys[i], 0, KEY_READ, &trackPointKey);
         ::RegCloseKey(trackPointKey);
         if (readKeyResult == ERROR_SUCCESS) {
             shouldCreateScrollbars = true;
@@ -2928,7 +2928,7 @@
 
         BitmapInfo bmInfo = BitmapInfo::create(sz);
 
-        HBITMAP hBitmap = 0;
+        HBITMAP hBitmap = nullptr;
 
         Image* icon = iconDatabase().synchronousIconForPageURL(str, sz);
 
@@ -2939,7 +2939,7 @@
         }
 
         HRESULT hr = m_frameLoadDelegate->didReceiveIcon(this, hBitmap, frame);
-        if (hr == E_NOTIMPL)
+        if ((hr == E_NOTIMPL) && hBitmap)
             DeleteObject(hBitmap);
     }
 }
@@ -5330,17 +5330,13 @@
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE WebView::standardUserAgentWithApplicationName( 
-    BSTR applicationName,
-    BSTR* groupName)
+HRESULT WebView::standardUserAgentWithApplicationName(BSTR applicationName, BSTR* groupName)
 {
     if (!groupName) {
         ASSERT_NOT_REACHED();
         return E_POINTER;
     }
 
-    *groupName;
-
     if (!applicationName) {
         ASSERT_NOT_REACHED();
         return E_POINTER;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to