[IOT-839] Ensure correct map size when serializing rep payload
authorErkka Kääriä <erkka.kaaria@intel.com>
Wed, 18 Nov 2015 09:33:40 +0000 (11:33 +0200)
committerJon A. Cruz <jonc@osg.samsung.com>
Sat, 21 Nov 2015 09:21:26 +0000 (09:21 +0000)
type & interface map size was hardcoded as two, which broke representation
deserialization when only one of type or interface was present.

Change-Id: I8356fc4ae80f649163d093adbac3cae49cac1cff
Signed-off-by: Erkka Kääriä <erkka.kaaria@intel.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/4265
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Erich Keane <erich.keane@intel.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
resource/csdk/stack/src/ocpayloadconvert.c

index 4e80fc0..e9b98c9 100644 (file)
@@ -675,7 +675,7 @@ static int64_t OCConvertSingleRepPayload(CborEncoder* parent, const OCRepPayload
                 OC_RSRVD_PROPERTY,
                 sizeof(OC_RSRVD_PROPERTY) - 1);
         CborEncoder propMap;
-        err = err | cbor_encoder_create_map(&map, &propMap, 2);
+        err = err | cbor_encoder_create_map(&map, &propMap, CborIndefiniteLength);
 
         if (payload->types)
         {