From 94a859f84d84399361e6341c52faa95761963052 Mon Sep 17 00:00:00 2001 From: Masatoshi Kimura Date: Thu, 28 Feb 2013 07:44:52 +0900 Subject: [PATCH] Bug 841477 - Enable FAIL_ON_WARNINGS on MSVC in dom/plugins. r=benjamin --- dom/plugins/base/Makefile.in | 2 -- dom/plugins/base/nsPluginHost.cpp | 5 ++++- dom/plugins/base/nsPluginStreamListenerPeer.cpp | 4 ++-- dom/plugins/ipc/BrowserStreamChild.cpp | 2 +- dom/plugins/ipc/Makefile.in | 2 -- dom/plugins/ipc/PluginInstanceChild.cpp | 2 -- dom/plugins/ipc/PluginModuleParent.cpp | 2 +- 7 files changed, 8 insertions(+), 11 deletions(-) diff --git a/dom/plugins/base/Makefile.in b/dom/plugins/base/Makefile.in index ebb7c373bf2..1263a581cc2 100644 --- a/dom/plugins/base/Makefile.in +++ b/dom/plugins/base/Makefile.in @@ -73,9 +73,7 @@ else # android_npapi.h extends the NPNVariable and NPPVariable enums # using #defines, which results in Wswitch warnings in gcc-4.6. # Therefore, enable FAIL_ON_WARNINGS only on non-Android platforms. -ifndef _MSC_VER FAIL_ON_WARNINGS := 1 -endif # !_MSC_VER endif ifeq ($(OS_ARCH),WINNT) diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp index 2671aea74f9..b33c9df50c1 100644 --- a/dom/plugins/base/nsPluginHost.cpp +++ b/dom/plugins/base/nsPluginHost.cpp @@ -2643,7 +2643,10 @@ nsPluginHost::ReadPluginInfo() if (NS_FAILED(rv)) return rv; - int32_t flen = int64_t(fileSize); + if (fileSize > INT32_MAX) { + return NS_ERROR_FAILURE; + } + int32_t flen = int32_t(fileSize); if (flen == 0) { NS_WARNING("Plugins Registry Empty!"); return NS_OK; // ERROR CONDITION diff --git a/dom/plugins/base/nsPluginStreamListenerPeer.cpp b/dom/plugins/base/nsPluginStreamListenerPeer.cpp index 6f7e096454a..3983f49b25c 100644 --- a/dom/plugins/base/nsPluginStreamListenerPeer.cpp +++ b/dom/plugins/base/nsPluginStreamListenerPeer.cpp @@ -514,7 +514,7 @@ nsPluginStreamListenerPeer::OnStartRequest(nsIRequest *request, // it's possible for the server to not send a Content-Length. // we should still work in this case. - if (NS_FAILED(rv) || length == -1) { + if (NS_FAILED(rv) || length < 0 || length > UINT32_MAX) { // check out if this is file channel nsCOMPtr fileChannel = do_QueryInterface(channel); if (fileChannel) { @@ -525,7 +525,7 @@ nsPluginStreamListenerPeer::OnStartRequest(nsIRequest *request, mLength = 0; } else { - mLength = length; + mLength = uint32_t(length); } nsAutoCString aContentType; // XXX but we already got the type above! diff --git a/dom/plugins/ipc/BrowserStreamChild.cpp b/dom/plugins/ipc/BrowserStreamChild.cpp index fff40cc98e1..63afdf6c653 100644 --- a/dom/plugins/ipc/BrowserStreamChild.cpp +++ b/dom/plugins/ipc/BrowserStreamChild.cpp @@ -30,7 +30,7 @@ BrowserStreamChild::BrowserStreamChild(PluginInstanceChild* instance, , mURL(url) , mHeaders(headers) , mStreamNotify(notifyData) - , mDeliveryTracker(this) + , ALLOW_THIS_IN_INITIALIZER_LIST(mDeliveryTracker(this)) { PLUGIN_LOG_DEBUG(("%s (%s, %i, %i, %p, %s, %s)", FULLFUNCTION, url.get(), length, lastmodified, (void*) notifyData, diff --git a/dom/plugins/ipc/Makefile.in b/dom/plugins/ipc/Makefile.in index 9dde0b57a04..4e5602e8526 100644 --- a/dom/plugins/ipc/Makefile.in +++ b/dom/plugins/ipc/Makefile.in @@ -10,9 +10,7 @@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk MODULE = dom -ifndef _MSC_VER FAIL_ON_WARNINGS := 1 -endif # !_MSC_VER EXPORTS_NAMESPACES = mozilla diff --git a/dom/plugins/ipc/PluginInstanceChild.cpp b/dom/plugins/ipc/PluginInstanceChild.cpp index 069e8dfcf85..ee58f6c5a06 100644 --- a/dom/plugins/ipc/PluginInstanceChild.cpp +++ b/dom/plugins/ipc/PluginInstanceChild.cpp @@ -2659,8 +2659,6 @@ PluginInstanceChild::NPN_SetCurrentAsyncSurface(NPAsyncSurface *surface, NPRect #ifdef XP_WIN case NPDrawingModelAsyncWindowsDXGISurface: { - AsyncBitmapData *bitmapData; - CrossProcessMutexAutoLock autoLock(*mRemoteImageDataMutex); data->mType = RemoteImageData::DXGI_TEXTURE_HANDLE; data->mSize = gfxIntSize(surface->size.width, surface->size.height); diff --git a/dom/plugins/ipc/PluginModuleParent.cpp b/dom/plugins/ipc/PluginModuleParent.cpp index 2da254ef6d5..acc4bbbed5e 100755 --- a/dom/plugins/ipc/PluginModuleParent.cpp +++ b/dom/plugins/ipc/PluginModuleParent.cpp @@ -116,7 +116,7 @@ PluginModuleParent::PluginModuleParent(const char* aFilePath) , mGetSitesWithDataSupported(false) , mNPNIface(NULL) , mPlugin(NULL) - , mTaskFactory(this) + , ALLOW_THIS_IN_INITIALIZER_LIST(mTaskFactory(this)) #ifdef XP_WIN , mPluginCpuUsageOnHang() , mHangUIParent(nullptr)