File: Modules/LDAPObject.c
Function: l_ldap_add_ext
Error: returning (PyObject*)NULL without setting an exception
407 static PyObject *
408 l_ldap_add_ext( LDAPObject* self, PyObject *args )
409 {
410     char *dn;
411     PyObject *modlist;
412     PyObject *serverctrls = Py_None;
413     PyObject *clientctrls = Py_None;
414     LDAPControl** server_ldcs = NULL;
415     LDAPControl** client_ldcs = NULL;
416 
417     int msgid;
418     int ldaperror;
419     LDAPMod **mods;
420 
421     if (!PyArg_ParseTuple( args, "sO|OO", &dn, &modlist, &serverctrls, &clientctrls )) return NULL;
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
422     if (not_valid(self)) return NULL;
when considering value == (int)0 from Modules/LDAPObject.c:422
taking False path
423 
424     mods = List_to_LDAPMods( modlist, 1 );
425     if (mods == NULL)
when treating unknown struct LDAPMod * * from Modules/LDAPObject.c:424 as non-NULL
taking False path
426         return NULL;
427 
428     if (!PyNone_Check(serverctrls)) {
taking True path
429         if (!LDAPControls_from_object(serverctrls, &server_ldcs))
when considering range: 1 <= value <= 0x7fffffff
taking False path
430             return NULL;
431     }
432 
433     if (!PyNone_Check(clientctrls)) {
taking True path
434         if (!LDAPControls_from_object(clientctrls, &client_ldcs))
when considering value == (int)0 from Modules/LDAPObject.c:434
taking True path
435             return NULL;
436     }
437 
438     LDAP_BEGIN_ALLOW_THREADS( self );
439     ldaperror = ldap_add_ext( self->ldap, dn, mods, server_ldcs, client_ldcs, &msgid);
440     LDAP_END_ALLOW_THREADS( self );
441     LDAPMods_DEL( mods );
442     LDAPControl_List_DEL( server_ldcs );
443     LDAPControl_List_DEL( client_ldcs );
444 
445     if ( ldaperror!=LDAP_SUCCESS )
446         return LDAPerror( self->ldap, "ldap_add_ext" );
447 
448     return PyInt_FromLong(msgid);
449 }
returning (PyObject*)NULL without setting an exception
found 3 similar trace(s) to this