# # # patch "ChangeLog" # from [55c5c1c40c224075d4e447c08a91fd7bdce1e593] # to [bbff7febf9ea5276a16dab560b180b68fc9a365e] # # patch "lru_cache.h" # from [a9febaa58dd2fe049373186090c306db0717e5b2] # to [9a6fce7e00cde0c732236a976744d17ab739ae6c] # ============================================================ --- ChangeLog 55c5c1c40c224075d4e447c08a91fd7bdce1e593 +++ ChangeLog bbff7febf9ea5276a16dab560b180b68fc9a365e @@ -1,3 +1,7 @@ +2006-03-06 Graydon Hoare + + * lru_cache.hh (LRUCache::insert): Fix memory leak. + 2006-03-05 Graydon Hoare * basic_io.{cc,hh}: Change printer to use static string buf. ============================================================ --- lru_cache.h a9febaa58dd2fe049373186090c306db0717e5b2 +++ lru_cache.h 9a6fce7e00cde0c732236a976744d17ab739ae6c @@ -179,7 +179,7 @@ _index[ key ] = liter; _curr_size += Sizefn()( data ); // Check to see if we need to remove an element due to exceeding max_size - if( _curr_size > _max_size ) { + while( _curr_size > _max_size ) { // Remove the last element. liter = _list.end(); --liter;