diff --git a/src/core/malloc.c b/src/core/malloc.c index 6633887b..8660f449 100644 --- a/src/core/malloc.c +++ b/src/core/malloc.c @@ -192,12 +192,14 @@ static inline void valgrind_make_blocks_noaccess ( void ) { */ static unsigned int discard_cache ( void ) { struct cache_discarder *discarder; - unsigned int discarded = 0; + unsigned int discarded; for_each_table_entry ( discarder, CACHE_DISCARDERS ) { - discarded += discarder->discard(); + discarded = discarder->discard(); + if ( discarded ) + return discarded; } - return discarded; + return 0; } /**