Changing ocstack to retrieve double instead of int using cJson
authorOmkar Hegde <omkar.m.hegde@intel.com>
Thu, 11 Jun 2015 22:09:38 +0000 (15:09 -0700)
committerErich Keane <erich.keane@intel.com>
Fri, 12 Jun 2015 16:24:08 +0000 (16:24 +0000)
Previously, we retrieved the sequence no. from presence payload
using object->valueint. Since the sequence no. is 32-bit unsigned
int, this caused the valueint to overflow. Hence, changing it to
object->valuedouble. This should fix IOT-549.

Change-Id: Idd30408c617e2ff84faa7c7c7f2a3f028577d337
Signed-off-by: Omkar Hegde <omkar.m.hegde@intel.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/1245
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Erich Keane <erich.keane@intel.com>
resource/csdk/stack/src/ocstack.c

index bc9d39e..95a930a 100644 (file)
@@ -872,7 +872,7 @@ void parsePresencePayload(char* payload, uint32_t* seqNum, uint32_t* maxAge,
                 seqNumObj = cJSON_GetObjectItem(presenceObj, OC_RSRVD_NONCE);
                 if(seqNumObj)
                 {
-                    *seqNum = seqNumObj->valueint;
+                    *seqNum = (uint32_t)seqNumObj->valuedouble;
                 }
                 else
                 {