disk_cache: assert if a cache entries keys don't match mesa
authorTimothy Arceri <tarceri@itsqueeze.com>
Fri, 25 Aug 2017 04:04:19 +0000 (14:04 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Sun, 27 Aug 2017 23:29:15 +0000 (09:29 +1000)
In ef42423e7be9 I enabled the check for release builds however we
still want to assert in debug builds in case of collisions or
just general bugs with the key building/compare code. Otherwise
it will just fail silently effectively disabling the cache.

Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
src/util/disk_cache.c

index 36c1e8e72c6abf3e4cbef605ec32c0046969a160..b789a454eb065d6f1b0d9229a8938b93e51b4c10 100644 (file)
@@ -1085,8 +1085,10 @@ disk_cache_get(struct disk_cache *cache, const cache_key key, size_t *size)
       goto fail;
 
    /* Check for extremely unlikely hash collisions */
-   if (memcmp(cache->driver_keys_blob, file_header, ck_size) != 0)
+   if (memcmp(cache->driver_keys_blob, file_header, ck_size) != 0) {
+      assert(!"Mesa cache keys mismatch!");
       goto fail;
+   }
 
    size_t cache_item_md_size = sizeof(uint32_t);
    uint32_t md_type;