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 2017/05/02 13:50:19 UTC

celix git commit: Fixed latest pubsub Coverity issues

Repository: celix
Updated Branches:
  refs/heads/develop ac4babf33 -> e2ad48f87


Fixed latest pubsub Coverity issues


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

Branch: refs/heads/develop
Commit: e2ad48f8797e537ac3590a6901f55a156e5b5015
Parents: ac4babf
Author: gricciardi <gr...@apache.org>
Authored: Tue May 2 15:50:05 2017 +0200
Committer: gricciardi <gr...@apache.org>
Committed: Tue May 2 15:50:05 2017 +0200

----------------------------------------------------------------------
 .../private/src/pubsub_serializer_impl.c        | 62 +++++++++++---------
 1 file changed, 34 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/e2ad48f8/pubsub/pubsub_serializer_json/private/src/pubsub_serializer_impl.c
----------------------------------------------------------------------
diff --git a/pubsub/pubsub_serializer_json/private/src/pubsub_serializer_impl.c b/pubsub/pubsub_serializer_json/private/src/pubsub_serializer_impl.c
index 6145a38..fb46f10 100644
--- a/pubsub/pubsub_serializer_json/private/src/pubsub_serializer_impl.c
+++ b/pubsub/pubsub_serializer_json/private/src/pubsub_serializer_impl.c
@@ -82,7 +82,7 @@ celix_status_t pubsubSerializer_destroy(pubsub_serializer_t* serializer) {
 celix_status_t pubsubSerializer_createSerializerMap(pubsub_serializer_t* serializer, bundle_pt bundle, pubsub_msg_serializer_map_t** out) {
     celix_status_t status = CELIX_SUCCESS;
     pubsub_msg_serializer_map_t* map = calloc(1, sizeof(*map));
-    if (status == CELIX_SUCCESS) {
+    if (map != NULL) {
         map->bundle = bundle;
         map->serializers = hashMap_create(NULL, NULL, NULL, NULL);
         pubsubSerializer_fillMsgSerializerMap(map->serializers, bundle);
@@ -143,7 +143,7 @@ celix_status_t pubsubMsgSerializer_deserialize(pubsub_msg_serializer_impl_t* imp
     if (rc != 0) {
         status = CELIX_BUNDLE_EXCEPTION;
     }
-    if (status == CELIX_SUCCESS) {
+    else{
         *out = msg;
     }
 	return status;
@@ -230,34 +230,40 @@ static void pubsubSerializer_addMsgSerializerFromBundle(const char *root, bundle
                 if (rc == 0 && msgType != NULL) {
 
                     char* msgName = NULL;
-                    dynMessage_getName(msgType,&msgName);
+                    rc += dynMessage_getName(msgType,&msgName);
 
                     version_pt msgVersion = NULL;
-                    dynMessage_getVersion(msgType, &msgVersion);
-
-                    unsigned int msgId = utils_stringHash(msgName);
-
-                    pubsub_msg_serializer_impl_t* impl = calloc(1, sizeof(*impl));
-                    impl->dynMsg = msgType;
-                    impl->msgSerializer.handle = impl;
-                    impl->msgSerializer.msgId = msgId;
-                    impl->msgSerializer.msgName = msgName;
-                    impl->msgSerializer.msgVersion = msgVersion;
-                    impl->msgSerializer.serialize = (void*) pubsubMsgSerializer_serialize;
-                    impl->msgSerializer.deserialize = (void*) pubsubMsgSerializer_deserialize;
-                    impl->msgSerializer.freeMsg = (void*) pubsubMsgSerializer_freeMsg;
-
-                    bool clash = hashMap_containsKey(msgSerializers, (void*)(uintptr_t)msgId);
-                    if (clash) {
-                        printf("Cannot add msg %s. clash in msg id %d!!\n", msgName, msgId);
-                        free(impl);
-                        dynMessage_destroy(msgType);
-                    } else if ( msgName != NULL && msgVersion != NULL && msgId != 0) {
-                        hashMap_put(msgSerializers, (void*)(uintptr_t)msgId, &impl->msgSerializer);
-                    } else {
-                        printf("Error creating msg serializer\n");
-                        free(impl);
-                        dynMessage_destroy(msgType);
+                    rc += dynMessage_getVersion(msgType, &msgVersion);
+
+                    if(rc == 0 && msgName != NULL && msgVersion != NULL){
+
+                    	unsigned int msgId = utils_stringHash(msgName);
+
+                    	pubsub_msg_serializer_impl_t* impl = calloc(1, sizeof(*impl));
+                    	impl->dynMsg = msgType;
+                    	impl->msgSerializer.handle = impl;
+                    	impl->msgSerializer.msgId = msgId;
+                    	impl->msgSerializer.msgName = msgName;
+                    	impl->msgSerializer.msgVersion = msgVersion;
+                    	impl->msgSerializer.serialize = (void*) pubsubMsgSerializer_serialize;
+                    	impl->msgSerializer.deserialize = (void*) pubsubMsgSerializer_deserialize;
+                    	impl->msgSerializer.freeMsg = (void*) pubsubMsgSerializer_freeMsg;
+
+                    	bool clash = hashMap_containsKey(msgSerializers, (void*)(uintptr_t)msgId);
+                    	if (clash) {
+                    		printf("Cannot add msg %s. clash in msg id %d!!\n", msgName, msgId);
+                    		free(impl);
+                    		dynMessage_destroy(msgType);
+                    	} else if (msgId != 0) {
+                    		hashMap_put(msgSerializers, (void*)(uintptr_t)msgId, &impl->msgSerializer);
+                    	} else {
+                    		printf("Error creating msg serializer\n");
+                    		free(impl);
+                    		dynMessage_destroy(msgType);
+                    	}
+                    }
+                    else{
+                    	printf("Cannot retrieve name and/or version from msg\n");
                     }
 
                 } else{