Disable IEnumerable.GetEnumerator on RCW through IDispatch (#11865)
authorYi Zhang (CLR) <yizhang82@users.noreply.github.com>
Sat, 10 Jun 2017 16:08:41 +0000 (09:08 -0700)
committerGitHub <noreply@github.com>
Sat, 10 Jun 2017 16:08:41 +0000 (09:08 -0700)
src/vm/mngstdinterfaces.cpp

index ec1475d..5aafe8a 100644 (file)
@@ -994,8 +994,9 @@ FCIMPL1(Object*, StdMngIEnumerable::GetEnumerator, Object* refThisUNSAFE)
 
     if (retVal == NULL)
     {
-        // classic COM interop scenario
-        retVal = ObjectToOBJECTREF((Object*)GetEnumeratorWorker(args));
+        // In desktop CLR we'll attempt to call through IDispatch(DISPID_NEWENUM)
+        // This is not supported in CoreCLR
+        COMPlusThrow(kPlatformNotSupportedException, IDS_EE_ERROR_IDISPATCH);
     }
 
     GCPROTECT_END();