From: Jay Oh Date: Fri, 1 Apr 2016 02:36:30 +0000 (+0900) Subject: Bug Fix - the Object Array Value in the Palyload was not cloned properly. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0494d2c5503438a8f32cd9e17137e56b3d889159;p=contrib%2Fiotivity.git Bug Fix - the Object Array Value in the Palyload was not cloned properly. - Object type (String) value was not checked - Modification : add the case handling for OCREP_PROP_OBJECT Change-Id: I8fe9c1fc7fec43648d2127284169af225a6a2bb0 Signed-off-by: Jay Oh Reviewed-on: https://gerrit.iotivity.org/gerrit/7475 Tested-by: jenkins-iotivity Reviewed-by: Jon A. Cruz (cherry picked from commit c53351f54d4e619dcdef8e703c586e2fcea65c9e) Reviewed-on: https://gerrit.iotivity.org/gerrit/7555 Reviewed-by: Uze Choi --- diff --git a/resource/csdk/stack/src/ocpayload.c b/resource/csdk/stack/src/ocpayload.c index 67b70e8..688ec5d 100755 --- a/resource/csdk/stack/src/ocpayload.c +++ b/resource/csdk/stack/src/ocpayload.c @@ -148,6 +148,13 @@ static void OCCopyPropertyValueArray(OCRepPayloadValue* dest, OCRepPayloadValue* dest->arr.strArray[i] = OICStrdup(source->arr.strArray[i]); } break; + case OCREP_PROP_OBJECT: + dest->arr.objArray = (OCRepPayload**)OICMalloc(dimTotal * sizeof(OCRepPayload*)); + for(size_t i = 0; i < dimTotal; ++i) + { + dest->arr.objArray[i] = OCRepPayloadClone(source->arr.objArray[i]); + } + break; case OCREP_PROP_ARRAY: dest->arr.objArray = (OCRepPayload**)OICMalloc(dimTotal * sizeof(OCRepPayload*)); for(size_t i = 0; i < dimTotal; ++i) @@ -230,7 +237,7 @@ static void OCFreeRepPayloadValueContents(OCRepPayloadValue* val) } OICFree(val->arr.ocByteStrArray); break; - case OCREP_PROP_OBJECT: + case OCREP_PROP_OBJECT: // This case is the temporary fix for string input for(size_t i = 0; i< dimTotal; ++i) { OCRepPayloadDestroy(val->arr.objArray[i]);