diff options
author | Grazvydas Ignotas <[email protected]> | 2017-03-09 02:54:53 +0200 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-03-09 20:26:30 +1100 |
commit | 61bbb25a080e48a8ca897ba7f6e73cc6a8e9b5b8 (patch) | |
tree | 84bfcb48159cc4d685e9f859f03415c0b17c4da4 | |
parent | 926bcacfd3f9025007455c026d44f810018cf787 (diff) |
util/disk_cache: fix size subtraction on 32bit
Negating size_t on 32bit produces a 32bit result. This was effectively
adding values close to UINT_MAX to the cache size (the files are usually
small) instead of intended subtraction.
Fixes 'make check' disk_cache failures on 32bit.
Signed-off-by: Grazvydas Ignotas <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
-rw-r--r-- | src/util/disk_cache.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c index 5470688df32..facdcecf7ca 100644 --- a/src/util/disk_cache.c +++ b/src/util/disk_cache.c @@ -603,7 +603,7 @@ evict_random_item(struct disk_cache *cache) free(dir_path); if (size) { - p_atomic_add(cache->size, - size); + p_atomic_add(cache->size, - (uint64_t)size); return; } @@ -624,7 +624,7 @@ evict_random_item(struct disk_cache *cache) free(dir_path); if (size) - p_atomic_add(cache->size, - size); + p_atomic_add(cache->size, - (uint64_t)size); } void @@ -646,7 +646,7 @@ disk_cache_remove(struct disk_cache *cache, const cache_key key) free(filename); if (sb.st_size) - p_atomic_add(cache->size, - sb.st_size); + p_atomic_add(cache->size, - (uint64_t)sb.st_size); } /* From the zlib docs: |