]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/seqmod.c
Fix modify deadlock
[openldap] / servers / slapd / overlays / seqmod.c
index 3730d176348773873167e5814973fcac3d88cace..be2efda0f108506a21b0f29ae8596de24f415c05 100644 (file)
@@ -1,7 +1,7 @@
 /* seqmod.c - sequenced modifies */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2004 The OpenLDAP Foundation.
+ * Copyright 2004-2005 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,12 +54,13 @@ seqmod_op_cleanup( Operation *op, SlapReply *rs )
 {
        slap_callback *sc = op->o_callback;
        seqmod_info *sm = sc->sc_private;
-       modtarget *mt;
+       modtarget *mt, mtdummy;
        Avlnode  *av;
 
+       mtdummy.mt_op = op;
        /* This op is done, remove it */
        ldap_pvt_thread_mutex_lock( &sm->sm_mutex );
-       av = avl_find2( sm->sm_mods, mt, sm_avl_cmp );
+       av = avl_find2( sm->sm_mods, &mtdummy, sm_avl_cmp );
        assert(av);
 
        mt = av->avl_data;