Bug 1399557: Follow-up: Add check for expected error code; r=bustage
authorAaron Klotz <aklotz@mozilla.com>
Wed, 20 Sep 2017 14:40:41 -0600
changeset 431553 789e21a08030b00acd832a58268680dede2e7a1b
parent 431552 2c443551b3cc3d280a89a300954abb7374b72309
child 431554 61340c7debf6dccec3b863d1bc00426feac42fe7
child 431557 06eacffae8c8d2bec170b2ad6e6bfa4f95410e39
push id7784
push userryanvm@gmail.com
push dateThu, 21 Sep 2017 00:40:13 +0000
treeherdermozilla-beta@efff4f307675 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbustage
bugs1399557
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1399557: Follow-up: Add check for expected error code; r=bustage
ipc/mscom/Interceptor.cpp
--- a/ipc/mscom/Interceptor.cpp
+++ b/ipc/mscom/Interceptor.cpp
@@ -538,16 +538,19 @@ Interceptor::GetInterceptorForIID(REFIID
   HRESULT hr;
 
   STAUniquePtr<IUnknown> targetInterface;
   IUnknown* rawTargetInterface = nullptr;
   hr = QueryInterfaceTarget(interceptorIid, (void**)&rawTargetInterface);
   targetInterface.reset(rawTargetInterface);
   InterceptorLog::QI(hr, mTarget.get(), aIid, targetInterface.get());
   MOZ_ASSERT(SUCCEEDED(hr) || hr == E_NOINTERFACE);
+  if (hr == E_NOINTERFACE) {
+    return hr;
+  }
   ENSURE_HR_SUCCEEDED(hr);
 
   // We *really* shouldn't be adding interceptors to proxies
   MOZ_ASSERT(aIid != IID_IMarshal);
 
   // (3) Create a new COM interceptor to that interface that delegates its
   // IUnknown to |this|.