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;