From e7b56f51472d3641b0e8f734f8491d951348bbba Mon Sep 17 00:00:00 2001
From: Utz-Uwe Haus <uhaus@hpe.com>
Date: Fri, 19 Aug 2022 13:08:44 +0300
Subject: [PATCH] properly dispose leftover events

When disposing outstanding subscriptions the events already queued were
not properly disposed.
---
 maestro/subscription_registry.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/maestro/subscription_registry.c b/maestro/subscription_registry.c
index e7d4c5eb..5320959f 100644
--- a/maestro/subscription_registry.c
+++ b/maestro/subscription_registry.c
@@ -727,6 +727,11 @@ mstro_subscription__destroy(mstro_subscription subscription)
         ERR("Failed to auto-acknowledge outstanding events: %d (%s)\n",
             s, mstro_status_description(s));
       }
+      s = mstro_pool_event_dispose(subscription->event_list);
+      if(s!=MSTRO_OK) {
+        ERR("Failed to auto-dispose outstanding events: %d (%s)\n",
+            s, mstro_status_description(s));
+      }
     }
 
     WARN("Destroying subscription, but not terminating waiters, FIXME\n");
@@ -2113,6 +2118,7 @@ mstro_pool_event_consume(const Mstro__Pool__Event *eventmsg)
         }
       } else {
         ERR("Event notification does not match a locally known subscription\n");
+        mstro_pool_event_dispose(ev);
         status = MSTRO_FAIL;
       }
     });
-- 
GitLab