• Show log

    Commit

  • Hash : add17435
    Author : Patrick Steinhardt
    Date : 2019-05-24T15:24:26

    cache: fix cache eviction using deallocated key
    
    When evicting cache entries, we first retrieve the object that is
    to be evicted, delete the object and then finally delete the key
    from the cache. In case where the cache eviction caused us to
    free the cached object, though, its key will point to invalid
    memory now when trying to remove it from the cache map. On my
    system, this causes us to not properly remove the key from the
    map, as its memory has been overwritten already and thus the key
    lookup it will fail and we cannot delete it.
    
    Fix this by only decrementing the refcount of the evictee after
    we have removed it from our cache map. Add a test that caused a
    segfault previous to that change.