Ver Fonte

[CVE-2017-8660] Uninitialized local variables

Suwei Chen há 8 anos atrás
pai
commit
a51003b6f5

+ 2 - 1
lib/Runtime/Language/JavascriptOperators.cpp

@@ -4985,7 +4985,7 @@ CommonNumber:
         }
         else if (typeId == TypeIds_HostDispatch)
         {
-            TypeId remoteTypeId;
+            TypeId remoteTypeId = TypeIds_Limit;
             if (RecyclableObject::FromVar(thisVar)->GetRemoteTypeId(&remoteTypeId))
             {
                 if (remoteTypeId == TypeIds_Null || remoteTypeId == TypeIds_Undefined || remoteTypeId == TypeIds_ActivationObject)
@@ -5091,6 +5091,7 @@ CommonNumber:
 
     BOOL JavascriptOperators::GetRemoteTypeId(Var aValue, TypeId* typeId)
     {
+        *typeId = TypeIds_Limit;
         if (GetTypeId(aValue) != TypeIds_HostDispatch)
         {
             return FALSE;

+ 1 - 1
lib/Runtime/Library/JavascriptRegularExpression.cpp

@@ -184,7 +184,7 @@ namespace Js
 
         if (JavascriptOperators::GetTypeId(var) == TypeIds_HostDispatch)
         {
-            TypeId remoteTypeId;
+            TypeId remoteTypeId = TypeIds_Limit;
             RecyclableObject* reclObj = RecyclableObject::FromVar(var);
             reclObj->GetRemoteTypeId(&remoteTypeId);
             if (remoteTypeId == TypeIds_RegEx)