]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8858 Fix use after free
authorOndřej Kuzník <ondra@openldap.org>
Thu, 29 Nov 2018 14:41:58 +0000 (14:41 +0000)
committerOndřej Kuzník <ondra@openldap.org>
Thu, 29 Nov 2018 14:41:58 +0000 (14:41 +0000)
libraries/libldap_r/tpool.c

index c5393083159a8daf4f8b0d7a0abda4590c38b8c9..51561116547f8c9f849505d5b5ea5d2e1fce3b8c 100644 (file)
@@ -922,11 +922,11 @@ ldap_pvt_thread_pool_free ( ldap_pvt_thread_pool_t *tpool )
 
                assert( !pq->ltp_open_count );
                assert( LDAP_SLIST_EMPTY(&pq->ltp_free_list) );
+               ldap_pvt_thread_cond_destroy(&pq->ltp_cond);
+               ldap_pvt_thread_mutex_destroy(&pq->ltp_mutex);
                if (pq->ltp_free) {
                        LDAP_FREE(pq->ltp_free);
                }
-               ldap_pvt_thread_cond_destroy(&pq->ltp_cond);
-               ldap_pvt_thread_mutex_destroy(&pq->ltp_mutex);
        }
        LDAP_FREE(pool->ltp_wqs);
        LDAP_FREE(pool);