Index: squid/src/external_acl.c diff -c squid/src/external_acl.c:1.1.2.20 squid/src/external_acl.c:1.1.2.21 *** squid/src/external_acl.c:1.1.2.20 Tue Mar 18 15:05:17 2003 --- squid/src/external_acl.c Mon Mar 24 10:25:51 2003 *************** *** 684,690 **** char *t; char *user = NULL; char *error = NULL; ! external_acl_entry *entry; debug(82, 2) ("externalAclHandleReply: reply=\"%s\"\n", reply); --- 684,690 ---- char *t; char *user = NULL; char *error = NULL; ! external_acl_entry *entry = NULL; debug(82, 2) ("externalAclHandleReply: reply=\"%s\"\n", reply); *************** *** 709,721 **** if (reply) entry = external_acl_cache_add(state->def, state->key, result, user, error); else { ! entry = hash_lookup(state->def->cache, state->key); ! if (entry) ! external_acl_cache_delete(state->def, entry); } ! } else ! entry = NULL; ! do { cbdataUnlock(state->def); state->def = NULL; --- 709,719 ---- if (reply) entry = external_acl_cache_add(state->def, state->key, result, user, error); else { ! external_acl_entry *oldentry = hash_lookup(state->def->cache, state->key); ! if (oldentry) ! external_acl_cache_delete(state->def, oldentry); } ! } do { cbdataUnlock(state->def); state->def = NULL;