1112 static PyObject*
1113 l_ldap_whoami_s( LDAPObject* self, PyObject* args )
1114 {
1115 PyObject *serverctrls = Py_None;
1116 PyObject *clientctrls = Py_None;
1117 LDAPControl** server_ldcs = NULL;
1118 LDAPControl** client_ldcs = NULL;
1119
1120 struct berval *bvalue = NULL;
1121
1122 PyObject *result;
1123
1124 int ldaperror;
1125
1126 if (!PyArg_ParseTuple( args, "|OO", &serverctrls, &clientctrls)) return NULL;
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
1127
1128 if (!PyNone_Check(serverctrls)) {
taking True path
1129 if (!LDAPControls_from_object(serverctrls, &server_ldcs))
when considering range: -0x80000000 <= value <= -1
taking False path
1130 return NULL;
1131 }
1132
1133 if (!PyNone_Check(clientctrls)) {
taking True path
1134 if (!LDAPControls_from_object(clientctrls, &client_ldcs))
when considering value == (int)0 from Modules/LDAPObject.c:1134
taking True path
1135 return NULL;
1136 }
1137
1138 LDAP_BEGIN_ALLOW_THREADS( self );
1139 ldaperror = ldap_whoami_s( self->ldap, &bvalue, server_ldcs, client_ldcs );
1140 LDAP_END_ALLOW_THREADS( self );
1141
1142 LDAPControl_List_DEL( server_ldcs );
1143 LDAPControl_List_DEL( client_ldcs );
1144
1145 if ( ldaperror!=LDAP_SUCCESS )
1146 return LDAPerror( self->ldap, "ldap_whoami_s" );
1147
1148 result = LDAPberval_to_object(bvalue);
1149
1150 return result;
1151 }
returning (PyObject*)NULL without setting an exception
found 2 similar trace(s) to this