summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2013-08-27 11:30:47 -0400
committerNalin Dahyabhai <nalin@dahyabhai.net>2013-08-27 11:30:47 -0400
commit62fa6090c6f7ecb7861814cb5f6e7677235f9de5 (patch)
tree83bd7bcda44ac792f290d5e10dc1daed2eb5b309 /src
parentc8f781f9b6153c99d80061dd49ce59cbac9d219c (diff)
downloadslapi-nis-62fa6090c6f7ecb7861814cb5f6e7677235f9de5.tar.gz
slapi-nis-62fa6090c6f7ecb7861814cb5f6e7677235f9de5.tar.xz
slapi-nis-62fa6090c6f7ecb7861814cb5f6e7677235f9de5.zip
Free staged data correctly when locking fails
Diffstat (limited to 'src')
-rw-r--r--src/back-sch.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/back-sch.c b/src/back-sch.c
index 46e5383..c33e708 100644
--- a/src/back-sch.c
+++ b/src/back-sch.c
@@ -1355,6 +1355,7 @@ backend_search_cb(Slapi_PBlock *pb)
slapi_log_error(SLAPI_LOG_PLUGIN,
cbdata.state->plugin_desc->spd_id,
"unable to acquire write lock\n");
+ staged = cbdata.staged;
while (staged != NULL) {
for (i = 0;
(i < staged->count) &&
@@ -1372,6 +1373,7 @@ backend_search_cb(Slapi_PBlock *pb)
free(staged);
staged = next;
}
+ cbdata.staged = NULL;
}
/* Perform search again, this time to collect the data added by the NSSWITCH search */
if (map_rdlock() == 0) {