]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/operation.c
Commit of the Proxy Cache contribution (ITS#2062)
[openldap] / servers / slapd / operation.c
index de6dd65ff41a015a314c53c67df2855301bba008..2a8da886da336e1b588d7941c8da1bfba0274b6d 100644 (file)
@@ -6,7 +6,6 @@
  */
 
 #include "portable.h"
-#include "slapi_common.h"
 
 #include <stdio.h>
 
 #include <ac/socket.h>
 
 #include "slap.h"
+
+#ifdef LDAP_SLAPI
 #include "slapi.h"
+#endif
 
 
 void
@@ -38,11 +40,21 @@ slap_op_free( Operation *op )
                ldap_controls_free( op->o_ctrls );
        }
 
+#ifdef LDAP_CONNECTIONLESS
+       if ( op->o_res_ber != NULL ) {
+               ber_free( op->o_res_ber, 1 );
+       }
+#endif
 #ifdef LDAP_CLIENT_UPDATE
        if ( op->o_clientupdate_state.bv_val != NULL ) {
                free( op->o_clientupdate_state.bv_val );
        }
-#endif /* LDAP_CLIENT_UPDATE */
+#endif
+#ifdef LDAP_SYNC
+       if ( op->o_sync_state.bv_val != NULL ) {
+               free( op->o_sync_state.bv_val );
+       }
+#endif
 
 #if defined( LDAP_SLAPI )
        if ( op->o_pb != NULL ) {
@@ -71,6 +83,9 @@ slap_op_alloc(
 
        op->o_time = slap_get_time();
        op->o_opid = id;
+#ifdef LDAP_CONNECTIONLESS
+       op->o_res_ber = NULL;
+#endif
 
 #if defined( LDAP_SLAPI )
        op->o_pb = slapi_pblock_new();