[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