You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by bp...@apache.org on 2015/11/18 13:23:30 UTC
celix git commit: CELIX-190: fix memory leak when removing service
Repository: celix
Updated Branches:
refs/heads/develop 4776c571e -> fdeee30ee
CELIX-190: fix memory leak when removing service
Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/fdeee30e
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/fdeee30e
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/fdeee30e
Branch: refs/heads/develop
Commit: fdeee30ee34a27ad5a617b1041606afd659e1825
Parents: 4776c57
Author: Bjoern Petri <bp...@apache.org>
Authored: Wed Nov 18 13:23:06 2015 +0100
Committer: Bjoern Petri <bp...@apache.org>
Committed: Wed Nov 18 13:23:06 2015 +0100
----------------------------------------------------------------------
.../private/src/remote_service_admin_impl.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/celix/blob/fdeee30e/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c b/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
index ee50c83..c6e9353 100644
--- a/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
+++ b/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
@@ -465,7 +465,11 @@ celix_status_t remoteServiceAdmin_removeExportedService(export_registration_pt r
celixThreadMutex_lock(&admin->exportedServicesLock);
- hashMap_remove(admin->exportedServices, registration->reference);
+ array_list_pt registrations = (array_list_pt) hashMap_remove(admin->exportedServices, registration->reference);
+
+ if (registrations != NULL) {
+ arrayList_destroy(registrations);
+ }
celixThreadMutex_unlock(&admin->exportedServicesLock);