You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by gr...@apache.org on 2016/06/02 13:59:47 UTC

celix git commit: CELIX-363: Fixed leak in exportRegistration_create DFI

Repository: celix
Updated Branches:
  refs/heads/develop feea43ed7 -> 5947def45


CELIX-363: Fixed leak in exportRegistration_create DFI


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

Branch: refs/heads/develop
Commit: 5947def45f67ec974e5dd736efc14b94985dca2b
Parents: feea43e
Author: lele.ricciardi <le...@gmail.com>
Authored: Thu Jun 2 15:45:29 2016 +0200
Committer: lele.ricciardi <le...@gmail.com>
Committed: Thu Jun 2 15:45:29 2016 +0200

----------------------------------------------------------------------
 .../rsa/private/src/export_registration_dfi.c             | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/5947def4/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c b/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
index a8d61ff..1cfcf16 100644
--- a/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
+++ b/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
@@ -105,7 +105,15 @@ celix_status_t exportRegistration_create(log_helper_pt helper, service_reference
             /* Add the interface version as a property in the properties_map */
             char* intfVersion = NULL;
             dynInterface_getVersionString(reg->intf, &intfVersion);
-            properties_set(endpoint->properties, (char*) CELIX_FRAMEWORK_SERVICE_VERSION, intfVersion);
+            char *serviceVersion = properties_get(endpoint->properties,(char*) CELIX_FRAMEWORK_SERVICE_VERSION);
+            if(serviceVersion!=NULL){
+            	if(strcmp(serviceVersion,intfVersion)!=0){
+            		logHelper_log(helper, OSGI_LOGSERVICE_WARNING, "Service version (%s) and interface version from the descriptor (%s) are not the same!",serviceVersion,intfVersion);
+            	}
+            }
+            else{
+            	properties_set(endpoint->properties, (char*) CELIX_FRAMEWORK_SERVICE_VERSION, intfVersion);
+            }
         }
     }