[CalendarServer-changes] [3004] PyKerberos/trunk/src/kerberos.c
source_changes at macosforge.org
source_changes at macosforge.org
Wed Sep 17 02:38:55 PDT 2008
Revision: 3004
http://trac.macosforge.org/projects/calendarserver/changeset/3004
Author: agx at sigxcpu.org
Date: 2008-09-17 02:38:55 -0700 (Wed, 17 Sep 2008)
Log Message:
-----------
all invocations of PyCObject_Check(pystate) should return a meaningful exception
without this we see:
SystemError: error return without exception set
which is not very helpful
Fixes #281
Modified Paths:
--------------
PyKerberos/trunk/src/kerberos.c
Modified: PyKerberos/trunk/src/kerberos.c
===================================================================
--- PyKerberos/trunk/src/kerberos.c 2008-09-16 22:45:29 UTC (rev 3003)
+++ PyKerberos/trunk/src/kerberos.c 2008-09-17 09:38:55 UTC (rev 3004)
@@ -110,8 +110,13 @@
PyObject *pystate;
int result = 0;
- if (!PyArg_ParseTuple(args, "O", &pystate) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "O", &pystate))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
if (state != NULL)
@@ -132,8 +137,13 @@
char *challenge;
int result = 0;
- if (!PyArg_ParseTuple(args, "Os", &pystate, &challenge) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "Os", &pystate, &challenge))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
@@ -151,8 +161,13 @@
gss_client_state *state;
PyObject *pystate;
- if (!PyArg_ParseTuple(args, "O", &pystate) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "O", &pystate))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
@@ -166,8 +181,13 @@
gss_client_state *state;
PyObject *pystate;
- if (!PyArg_ParseTuple(args, "O", &pystate) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "O", &pystate))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
@@ -183,9 +203,14 @@
char *challenge;
int result = 0;
- if (!PyArg_ParseTuple(args, "Os", &pystate, &challenge) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "Os", &pystate, &challenge))
return NULL;
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
+
state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
return NULL;
@@ -204,9 +229,14 @@
char *challenge, *user = NULL;
int result = 0;
- if (!PyArg_ParseTuple(args, "Os|z", &pystate, &challenge, &user) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "Os|z", &pystate, &challenge, &user))
return NULL;
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
+
state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
return NULL;
@@ -244,8 +274,13 @@
PyObject *pystate;
int result = 0;
- if (!PyArg_ParseTuple(args, "O", &pystate) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "O", &pystate))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
if (state != NULL)
@@ -266,8 +301,13 @@
char *challenge;
int result = 0;
- if (!PyArg_ParseTuple(args, "Os", &pystate, &challenge) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "Os", &pystate, &challenge))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
@@ -285,8 +325,13 @@
gss_server_state *state;
PyObject *pystate;
- if (!PyArg_ParseTuple(args, "O", &pystate) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "O", &pystate))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
@@ -300,8 +345,13 @@
gss_server_state *state;
PyObject *pystate;
- if (!PyArg_ParseTuple(args, "O", &pystate) || !PyCObject_Check(pystate))
+ if (!PyArg_ParseTuple(args, "O", &pystate))
return NULL;
+
+ if (!PyCObject_Check(pystate)) {
+ PyErr_SetString(PyExc_TypeError, "Expected a context object");
+ return NULL;
+ }
state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
if (state == NULL)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080917/bd32fce5/attachment.html
More information about the calendarserver-changes
mailing list