From 45389c03415c38fedcc6c5edbddd5831e6062f0e Mon Sep 17 00:00:00 2001 From: Hallvard Furuseth Date: Thu, 31 May 2007 12:08:50 +0000 Subject: [PATCH] Preserve key order when deleting, so context_reset will free last keys first. --- libraries/libldap_r/tpool.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libraries/libldap_r/tpool.c b/libraries/libldap_r/tpool.c index 7d6c3afdf6..ac4f791432 100644 --- a/libraries/libldap_r/tpool.c +++ b/libraries/libldap_r/tpool.c @@ -844,12 +844,8 @@ int ldap_pvt_thread_pool_getkey( static void clear_key_idx( ldap_int_thread_userctx_t *ctx, int i ) { - int j = i; - while ( ++j < MAXKEYS && ctx->ltu_key[j].ltk_key ); - if ( --j != i ) { - ctx->ltu_key[i] = ctx->ltu_key[j]; - i = j; - } + for ( ; i < MAXKEYS-1 && ctx->ltu_key[i+1].ltk_key; i++ ) + ctx->ltu_key[i] = ctx->ltu_key[i+1]; ctx->ltu_key[i].ltk_key = NULL; } -- 2.39.5