Index: squid/src/acl.c diff -c squid/src/acl.c:1.270.2.23 squid/src/acl.c:1.270.2.24 *** squid/src/acl.c:1.270.2.23 Wed Feb 18 06:30:02 2004 --- squid/src/acl.c Wed Feb 18 10:50:51 2004 *************** *** 1892,1897 **** --- 1892,1901 ---- cbdataUnlock(checklist->access_list); checklist->access_list = NULL; } + if (checklist->callback_data) { + cbdataUnlock(checklist->callback_data); + checklist->callback_data = NULL; + } aclCheckCleanup(checklist); cbdataFree(checklist); } Index: squid/src/auth/basic/auth_basic.c diff -c squid/src/auth/basic/auth_basic.c:1.14.2.4 squid/src/auth/basic/auth_basic.c:1.14.2.5 *** squid/src/auth/basic/auth_basic.c:1.14.2.4 Thu Nov 6 07:54:20 2003 --- squid/src/auth/basic/auth_basic.c Wed Feb 18 10:50:51 2004 *************** *** 43,48 **** --- 43,52 ---- static void authenticateStateFree(authenticateStateData * r) { + if (r->auth_user_request) { + authenticateAuthUserRequestUnlock(r->auth_user_request); + r->auth_user_request = NULL; + } cbdataFree(r); } *************** *** 584,590 **** /* save the details */ node->next = basic_auth->auth_queue; basic_auth->auth_queue = node; - node->auth_user_request = auth_user_request; node->handler = handler; node->data = data; cbdataLock(data); --- 588,593 ---- *************** *** 595,600 **** --- 598,604 ---- cbdataLock(data); r->data = data; r->auth_user_request = auth_user_request; + authenticateAuthUserRequestLock(r->auth_user_request); /* mark the user as haveing verification in progress */ basic_auth->flags.credentials_ok = 2; xstrncpy(user, rfc1738_escape(basic_auth->username), sizeof(user)); Index: squid/src/auth/basic/auth_basic.h diff -c squid/src/auth/basic/auth_basic.h:1.3 squid/src/auth/basic/auth_basic.h:1.3.2.1 *** squid/src/auth/basic/auth_basic.h:1.3 Wed Oct 17 06:41:50 2001 --- squid/src/auth/basic/auth_basic.h Wed Feb 18 10:50:51 2004 *************** *** 21,27 **** /* queue of auth requests waiting for verification to occur */ struct _auth_basic_queue_node { auth_basic_queue_node *next; - auth_user_request_t *auth_user_request; RH *handler; void *data; }; --- 21,26 ----