From 3b56909d67e29ca16881f4d3f3b4a76f83fefc6b Mon Sep 17 00:00:00 2001
From: Basile Desloges <basile.desloges@cea.fr>
Date: Thu, 9 Jul 2020 13:53:13 +0200
Subject: [PATCH] [eacsl:runtime] Fix tracking of deallocation

The number of allocated blocks wasn't decremented on deallocation.
---
 .../e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h b/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h
index 1a2bac5abef..d2400f592b3 100644
--- a/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h
+++ b/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h
@@ -979,7 +979,7 @@ static void unset_heap_segment(void *ptr, int init, const char *function) {
   /* Nullify shadow block */
   memset(base_shadow, ZERO, alloc_size);
   /* Adjust tracked allocation size */
-  heap_allocation_size -= length;
+  update_heap_allocation(-length);
 #ifdef E_ACSL_TEMPORAL /*{{{*/
   /* Nullify temporal shadow */
   uintptr_t *t_base_shadow = (uintptr_t*)TEMPORAL_HEAP_SHADOW(ptr);
-- 
GitLab