X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fsrc%2FInProcClientWrapper.cpp;h=ee474258216b89afe483540d8d99f26bab454747;hb=e9e91caab194667d619e90abcab3c4f17aff7e08;hp=b4a2af812dc1a75fde78123fb174bc570430a5a9;hpb=4f964073c7ab4d8d4727692122a630dc5c8a7b23;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/src/InProcClientWrapper.cpp b/resource/src/InProcClientWrapper.cpp index b4a2af8..ee47425 100644 --- a/resource/src/InProcClientWrapper.cpp +++ b/resource/src/InProcClientWrapper.cpp @@ -1571,18 +1571,19 @@ namespace OC return nullptr; } - OCHeaderOption* options = new OCHeaderOption[headerOptions.size()]; - int i = 0; + OCHeaderOption* options = new OCHeaderOption[headerOptions.size()](); + + size_t numOptions = 0; for (auto it=headerOptions.begin(); it != headerOptions.end(); ++it) { - options[i] = OCHeaderOption(); - options[i].protocolID = OC_COAP_ID; - options[i].optionID = it->getOptionID(); - options[i].optionLength = it->getOptionData().length() + 1; - strncpy((char*)options[i].optionData, it->getOptionData().c_str(), - sizeof(options[i].optionLength) -1 ); - options[i].optionData[sizeof(options[i].optionLength) - 1] = 0; - i++; + OCStackResult ret = OCSetHeaderOption(options, &numOptions, it->getOptionID(), + it->getOptionData().c_str(), it->getOptionData().length()); + if (OC_STACK_OK != ret) + { + OIC_LOG_V(ERROR, TAG, "Failed to convert vnd header options! (error=%d)", ret); + delete[] options; + return nullptr; + } } return options;