Revision: 15398
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15398
Author:   campbellbarton
Date:     2008-07-01 18:43:46 +0200 (Tue, 01 Jul 2008)

Log Message:
-----------
Checked all cases where PyArg_ParseTuple is used in blenders game engine and 
made sure all will raise errors when called with invalid args.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp
    trunk/blender/source/gameengine/Ketsji/BL_Shader.cpp
    
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
    trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
    trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
    trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    trunk/blender/source/gameengine/Ketsji/KX_VehicleWrapper.cpp

Modified: trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp        
2008-07-01 13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp        
2008-07-01 16:43:46 UTC (rev 15398)
@@ -603,6 +603,9 @@
                        if (reset)
                                m_blendframe = 0.f;
                }
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -622,6 +625,9 @@
        if (PyArg_ParseTuple(args,"f",&start))
        {
                m_startframe = start;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -641,6 +647,9 @@
        if (PyArg_ParseTuple(args,"f",&end))
        {
                m_endframe = end;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -661,6 +670,9 @@
        if (PyArg_ParseTuple(args,"f",&blendin))
        {
                m_blendin = blendin;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -686,6 +698,9 @@
                        m_blendframe = 0.f;
                if (m_blendframe>m_blendin)
                        m_blendframe = m_blendin;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -707,6 +722,9 @@
        if (PyArg_ParseTuple(args,"i",&priority))
        {
                m_priority = priority;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -730,6 +748,9 @@
                        m_localtime=m_startframe;
                else if (m_localtime>m_endframe)
                        m_localtime=m_endframe;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);
@@ -750,6 +771,9 @@
        if (PyArg_ParseTuple(args,"s",&string))
        {
                m_propname = string;
+       }
+       else {
+               return NULL;
        }
        
        Py_INCREF(Py_None);

Modified: trunk/blender/source/gameengine/Ketsji/BL_Shader.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/BL_Shader.cpp        2008-07-01 
13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/BL_Shader.cpp        2008-07-01 
16:43:46 UTC (rev 15398)
@@ -812,7 +812,7 @@
                mUse = 0;
                Py_Return;
        }
-       Py_Return;
+       return NULL;
 }
 
 

Modified: 
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
===================================================================
--- 
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp  
    2008-07-01 13:21:37 UTC (rev 15397)
+++ 
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp  
    2008-07-01 16:43:46 UTC (rev 15398)
@@ -158,6 +158,9 @@
        if (PyArg_ParseTuple(args, "s", &ToPropName)) {
             m_toPropName = ToPropName;
        }
+       else {
+               return NULL;
+       }
 
        Py_Return;
 }
@@ -173,7 +176,10 @@
        if (PyArg_ParseTuple(args, "s", &Subject)) {
             m_subject = Subject;
        }
-
+       else {
+               return NULL;
+       }
+       
        Py_Return;
 }
 
@@ -188,6 +194,9 @@
        if (PyArg_ParseTuple(args, "i", &BodyType)) {
             m_bodyType = BodyType;
        }
+       else {
+               return NULL;
+       }
 
        Py_Return;
 }
@@ -203,6 +212,9 @@
        if (PyArg_ParseTuple(args, "s", &Body)) {
             m_body = Body;
        }
+       else {
+               return NULL;
+       }
 
        Py_Return;
 }

Modified: 
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
===================================================================
--- 
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp    
    2008-07-01 13:21:37 UTC (rev 15397)
+++ 
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp    
    2008-07-01 16:43:46 UTC (rev 15398)
@@ -233,6 +233,9 @@
        {
             m_subject = Subject;
        }
+       else {
+               return NULL;
+       }
 
        Py_Return;
 }

Modified: trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp        2008-07-01 
13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp        2008-07-01 
16:43:46 UTC (rev 15398)
@@ -588,7 +588,7 @@
 
        PyErr_SetString(PyExc_TypeError, "sphereInsideFrustum: Expected 
arguments: (center, radius)");
        
-       Py_Return;
+       return NULL;
 }
 
 KX_PYMETHODDEF_DOC(KX_Camera, boxInsideFrustum,
@@ -766,6 +766,10 @@
                else
                        EnableViewport(false);
        }
+       else {
+               return NULL;
+       }
+       
        Py_Return;
 }
 
@@ -777,6 +781,8 @@
        if (PyArg_ParseTuple(args,"iiii",&left, &bottom, &right, &top))
        {
                SetViewport(left, bottom, right, top);
+       } else {
+               return NULL;
        }
        Py_Return;
 }

Modified: trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp    2008-07-01 
13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp    2008-07-01 
16:43:46 UTC (rev 15398)
@@ -1168,6 +1168,9 @@
                if (pypos)
                        PyVecTo(pypos, point);
        }
+       else {
+               return NULL;
+       }
        
        if (m_pPhysicsController1)
        {
@@ -1256,6 +1259,10 @@
                
                this->SetParent(scene, obj);
        }
+       else {
+               return NULL;
+       }
+       
        Py_Return;
 }
 
@@ -1282,7 +1289,7 @@
                        return meshproxy;
                }
        }
-       Py_Return;
+       return NULL;
 }
 
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp     2008-07-01 
13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp     2008-07-01 
16:43:46 UTC (rev 15398)
@@ -157,6 +157,9 @@
        {
                matname = m_meshobj->GetMaterialName(matid);
        }
+       else {
+               return NULL;
+       }
 
        return PyString_FromString(matname.Ptr());
                
@@ -174,6 +177,9 @@
        {
                matname = m_meshobj->GetTextureName(matid);
        }
+       else {
+               return NULL;
+       }
 
        return PyString_FromString(matname.Ptr());
                
@@ -195,6 +201,9 @@
                        length = m_meshobj->GetVertexArrayLength(mat);
                }
        }
+       else {
+               return NULL;
+       }
 
        return PyInt_FromLong(length);
                
@@ -217,6 +226,9 @@
                        vertexob = new KX_VertexProxy(this, vertex);
                }
        }
+       else {
+               return NULL;
+       }
 
        return vertexob;
                

Modified: trunk/blender/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp  
2008-07-01 13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp  
2008-07-01 16:43:46 UTC (rev 15398)
@@ -58,6 +58,9 @@
        {
                m_ctrl->setPosition(x,y,z);
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -72,6 +75,9 @@
        {
                m_ctrl->SetLinearVelocity(x,y,z,local != 0);
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -85,6 +91,9 @@
        {
                m_ctrl->SetAngularVelocity(x,y,z,local != 0);
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -97,6 +106,9 @@
        {
                m_ctrl->SetActive(active!=0);
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp   
2008-07-01 13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp   
2008-07-01 16:43:46 UTC (rev 15398)
@@ -82,12 +82,15 @@
                                                                                
 PyObject* kwds)
 {
        float x,y,z;
-       int len = PyTuple_Size(args);
-       if ((len == 3) && PyArg_ParseTuple(args,"fff",&x,&y,&z))
+       if (PyArg_ParseTuple(args,"fff",&x,&y,&z))
        {
                if (PHY_GetActiveEnvironment())
                        PHY_GetActiveEnvironment()->setGravity(x,y,z);
        }
+       else {
+               return NULL;
+       }
+       
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -105,6 +108,10 @@
                }
                
        }
+       else {
+               return NULL;
+       }
+       
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -122,6 +129,9 @@
                        PHY_GetActiveEnvironment()->setNumTimeSubSteps(substep);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -138,6 +148,9 @@
                        PHY_GetActiveEnvironment()->setNumIterations(iter);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -155,6 +168,9 @@
                        
PHY_GetActiveEnvironment()->setDeactivationTime(deactive_time);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -171,6 +187,9 @@
                        
PHY_GetActiveEnvironment()->setDeactivationLinearTreshold( 
linearDeactivationTreshold);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -187,6 +206,9 @@
                        
PHY_GetActiveEnvironment()->setDeactivationAngularTreshold( 
angularDeactivationTreshold);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -202,6 +224,9 @@
                        PHY_GetActiveEnvironment()->setContactBreakingTreshold( 
contactBreakingTreshold);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -218,6 +243,9 @@
                        PHY_GetActiveEnvironment()->setCcdMode( ccdMode);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -233,6 +261,9 @@
                        PHY_GetActiveEnvironment()->setSolverSorConstant( sor);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -248,6 +279,9 @@
                        PHY_GetActiveEnvironment()->setSolverTau( tau);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -264,6 +298,9 @@
                        PHY_GetActiveEnvironment()->setSolverDamping( damping);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -279,6 +316,9 @@
                        PHY_GetActiveEnvironment()->setLinearAirDamping( 
damping);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -295,6 +335,9 @@
                        PHY_GetActiveEnvironment()->setUseEpa(epa);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 static PyObject* gPySetSolverType(PyObject* self,
@@ -309,6 +352,9 @@
                        PHY_GetActiveEnvironment()->setSolverType(solverType);
                }
        }
+       else {
+               return NULL;
+       }
        Py_INCREF(Py_None); return Py_None;
 }
 
@@ -338,6 +384,9 @@
 
                }
        }
+       else {
+               return NULL;
+       }
 
        Py_INCREF(Py_None); return Py_None;
 }
@@ -395,6 +444,9 @@
                        
                }
        }
+       else {
+               return NULL;
+       }
 
        Py_INCREF(Py_None); return Py_None;
 }
@@ -421,6 +473,9 @@
                        appliedImpulse = 
PHY_GetActiveEnvironment()->getAppliedImpulse(constraintid);
                }
        }
+       else {
+               return NULL;
+       }
 
        return PyFloat_FromDouble(appliedImpulse);
 }
@@ -443,6 +498,10 @@
                        
PHY_GetActiveEnvironment()->removeConstraint(constraintid);
                }
        }
+       else {
+               return NULL;
+       }
+       
        Py_INCREF(Py_None); return Py_None;
 }
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp    2008-07-01 
13:21:37 UTC (rev 15397)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp    2008-07-01 
16:43:46 UTC (rev 15398)
@@ -425,7 +425,7 @@
        }
        else
        {
-         Py_Return;         

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to