[IOT-2344] Use correct index when checking for alloc failure.
authorTodd Malsbary <todd.malsbary@intel.com>
Mon, 22 May 2017 18:45:40 +0000 (11:45 -0700)
committerUze Choi <uzchoi@samsung.com>
Tue, 23 May 2017 08:18:57 +0000 (08:18 +0000)
dimensions[0] and i may be different values.  The urlInfo is allocated
to dimensions[0] but checked against i.

Bug: https://jira.iotivity.org/browse/IOT-2344
Change-Id: Ibff3fc62d551417a71e7496027452b3d88cad413
Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/20271
Reviewed-by: Srikrishna Gurugubelli <srikguru@microsoft.com>
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
Reviewed-by: Ashok Babu Channa <ashok.channa@samsung.com>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
Reviewed-by: Phil Coval <philippe.coval@osg.samsung.com>
resource/csdk/stack/src/ocresource.c

index 4b9ef04f5e95f52ca43cd3e6795d38e285c1b2a8..a338eaef942f5fa80a6e162abc1848a9eb1592bc 100755 (executable)
@@ -1216,13 +1216,13 @@ OCStackResult BuildIntrospectionResponseRepresentation(const OCResource *resourc
 
                         char *epStr = OCCreateEndpointStringFromCA(&caEps[i]);
                         urlInfoPayload[dimensions[0]] = BuildUrlInfoWithProtocol(proto, epStr);
-                        dimensions[0] = dimensions[0] + 1;
-                        if (!urlInfoPayload[i])
+                        if (!urlInfoPayload[dimensions[0]])
                         {
                             OIC_LOG(ERROR, TAG, "Unable to build urlInfo object for protocol");
                             ret = OC_STACK_ERROR;
                             goto exit;
                         }
+                        dimensions[0] = dimensions[0] + 1;
                     }
                 }
             }