[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15398] trunk/blender/source/gameengine: Checked all cases where PyArg_ParseTuple is used in blenders game engine and made sure all will raise errors when called with invalid args .

Campbell Barton ideasman42 at gmail.com
Tue Jul 1 18:44:11 CEST 2008


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. @@




More information about the Bf-blender-cvs mailing list