]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/compare.c
Removed unnecessary definition that is already in core.schema.
[openldap] / servers / slapd / back-ldbm / compare.c
index b0974ffdbbd396867ad3ff1effc6e3237654d38a..fc6e17144419ad430ae5ac6ac9e3b9f5e31e4d36 100644 (file)
@@ -1,15 +1,16 @@
 /* compare.c - ldbm backend compare routine */
 
+#include "portable.h"
+
 #include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
+
+#include <ac/socket.h>
+#include <ac/string.h>
+
 #include "slap.h"
 #include "back-ldbm.h"
 #include "proto-back-ldbm.h"
 
-extern Attribute       *attr_find();
-
 int
 ldbm_back_compare(
     Backend    *be,
@@ -23,17 +24,20 @@ ldbm_back_compare(
        char            *matched;
        Entry           *e;
        Attribute       *a;
-       int             i, rc;
+       int             rc;
 
        /* get entry with reader lock */
        if ( (e = dn2entry_r( be, dn, &matched )) == NULL ) {
                send_ldap_result( conn, op, LDAP_NO_SUCH_OBJECT, matched, "" );
+
+               if(matched == NULL) free(matched);
                return( 1 );
        }
 
        /* check for deleted */
-       if ( ! access_allowed( be, conn, op, e, ava->ava_type, &ava->ava_value,
-           op->o_dn, ACL_COMPARE ) ) {
+       if ( ! access_allowed( be, conn, op, e,
+               ava->ava_type, &ava->ava_value, ACL_COMPARE ) )
+       {
                send_ldap_result( conn, op, LDAP_INSUFFICIENT_ACCESS, "", "" );
                rc = 1;
                goto return_results;