File: Modules/LDAPObject.c
Function: l_ldap_compare_ext
Error: returning (PyObject*)NULL without setting an exception
739 static PyObject *
740 l_ldap_compare_ext( LDAPObject* self, PyObject *args )
741 {
742     char *dn, *attr;
743     PyObject *serverctrls = Py_None;
744     PyObject *clientctrls = Py_None;
745     LDAPControl** server_ldcs = NULL;
746     LDAPControl** client_ldcs = NULL;
747 
748     int msgid;
749     int ldaperror;
750     Py_ssize_t value_len;
751     struct berval value;
752 
753     if (!PyArg_ParseTuple( args, "sss#|OO", &dn, &attr, &value.bv_val, &value_len, &serverctrls, &clientctrls )) return NULL;
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
754     value.bv_len = (ber_len_t) value_len;
755 
756     if (not_valid(self)) return NULL;
when considering value == (int)0 from Modules/LDAPObject.c:756
taking False path
757 
758     if (!PyNone_Check(serverctrls)) {
taking True path
759         if (!LDAPControls_from_object(serverctrls, &server_ldcs))
when considering range: 1 <= value <= 0x7fffffff
taking False path
760             return NULL;
761     }
762 
763     if (!PyNone_Check(clientctrls)) {
taking True path
764         if (!LDAPControls_from_object(clientctrls, &client_ldcs))
when considering value == (int)0 from Modules/LDAPObject.c:764
taking True path
765             return NULL;
766     }
767 
768     LDAP_BEGIN_ALLOW_THREADS( self );
769     ldaperror = ldap_compare_ext( self->ldap, dn, attr, &value, server_ldcs, client_ldcs, &msgid );
770     LDAP_END_ALLOW_THREADS( self );
771 
772     LDAPControl_List_DEL( server_ldcs );
773     LDAPControl_List_DEL( client_ldcs );
774 
775     if ( ldaperror!=LDAP_SUCCESS )
776         return LDAPerror( self->ldap, "ldap_compare_ext" );
777 
778     return PyInt_FromLong( msgid );
779 }
returning (PyObject*)NULL without setting an exception
found 3 similar trace(s) to this