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 <[email protected]>
Authored: Thu Jun 2 15:45:29 2016 +0200
Committer: lele.ricciardi <[email protected]>
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);
+            }
         }
     } 
 

Reply via email to