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/12/15 09:28:33 UTC

celix git commit: CELIX-326: Added missing memory free's

Repository: celix
Updated Branches:
  refs/heads/develop f2417eace -> 67a7170d7


CELIX-326: Added missing memory free's


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/67a7170d
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/67a7170d
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/67a7170d

Branch: refs/heads/develop
Commit: 67a7170d7c50935bda168d4f576127bda0a27e32
Parents: f2417ea
Author: Bjoern Petri <bp...@apache.org>
Authored: Tue Dec 15 09:28:13 2015 +0100
Committer: Bjoern Petri <bp...@apache.org>
Committed: Tue Dec 15 09:28:13 2015 +0100

----------------------------------------------------------------------
 dependency_manager/private/src/dm_service_dependency.c | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/67a7170d/dependency_manager/private/src/dm_service_dependency.c
----------------------------------------------------------------------
diff --git a/dependency_manager/private/src/dm_service_dependency.c b/dependency_manager/private/src/dm_service_dependency.c
index aba8bfb..df51463 100644
--- a/dependency_manager/private/src/dm_service_dependency.c
+++ b/dependency_manager/private/src/dm_service_dependency.c
@@ -185,7 +185,12 @@ celix_status_t serviceDependency_setService(dm_service_dependency_pt dependency,
                 char* filterElement = (char*) arrayListIterator_next(filterElementsIter);
                 size_t len = strlen(dependency->tracked_filter) + strlen(filterElement) + 4;
                 char* newFilter = calloc(len, sizeof(*newFilter));
+
                 snprintf(newFilter, len, "(&%s%s)", dependency->tracked_filter, filterElement);
+
+                free(dependency->tracked_filter);
+                free(filterElement);
+
                 dependency->tracked_filter = newFilter;
             }
 
@@ -194,6 +199,8 @@ celix_status_t serviceDependency_setService(dm_service_dependency_pt dependency,
         else {
             dependency->tracked_filter = NULL;
         }
+
+        arrayList_destroy(filterElements);
     }
 
     return status;