Fix static analysis issues in CA, rd_client and ocstack
authorMinji Park <minjii.park@samsung.com>
Wed, 9 Nov 2016 09:33:14 +0000 (18:33 +0900)
committerAshok Babu Channa <ashok.channa@samsung.com>
Mon, 21 Nov 2016 09:21:50 +0000 (09:21 +0000)
- variable initialization and null checking added

Change-Id: Ibb47193ccb480941abfa71b0d32020891d2025f6
Signed-off-by: Minji Park <minjii.park@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/14157
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jaehong Jo <jaehong.jo@samsung.com>
Reviewed-by: Habib Virji <habib.virji@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/14339
Reviewed-by: Uze Choi <uzchoi@samsung.com>
Reviewed-by: Phil Coval <philippe.coval@osg.samsung.com>
resource/csdk/resource-directory/src/rd_client.c
resource/csdk/stack/src/ocstack.c

index 58c620c..df2a66b 100644 (file)
@@ -185,6 +185,19 @@ OCStackResult OCRDPublishWithDeviceId(const char *host, const unsigned char *id,
 
             size_t mtDim[MAX_REP_ARRAY_DEPTH] = {1, 0, 0};
             char **mediaType = (char **)OICMalloc(sizeof(char *) * 1);
+            if (!mediaType)
+            {
+                OIC_LOG(ERROR, TAG, "Memory allocation failed!");
+
+                for(uint8_t i = 0; i < nPubResHandles; i++)
+                {
+                    OCRepPayloadDestroy(linkArr[i]);
+                }
+                OICFree(linkArr);
+                OCRepPayloadDestroy(rdPayload);
+                return OC_STACK_NO_MEMORY;
+            }
+
             mediaType[0] = OICStrdup(DEFAULT_MESSAGE_TYPE);
             OCRepPayloadSetStringArrayAsOwner(link, OC_RSRVD_MEDIA_TYPE, mediaType, mtDim);
 
index 2e1a644..8d8b420 100644 (file)
@@ -4890,7 +4890,7 @@ OCStackResult OCUpdateResourceInsWithResponse(const char *requestUri,
                 {
                     OCRepPayload *rdPayload = (OCRepPayload *) response->payload;
                     OCRepPayload **links = NULL;
-                    size_t dimensions[MAX_REP_ARRAY_DEPTH];
+                    size_t dimensions[MAX_REP_ARRAY_DEPTH] = { 0 };
                     if (OCRepPayloadGetPropObjectArray(rdPayload, OC_RSRVD_LINKS,
                                                        &links, dimensions))
                     {