From: jinhyuck83.park Date: Thu, 13 Apr 2017 06:06:58 +0000 (+0900) Subject: make code more stable by change strcpy to strncpy X-Git-Tag: 1.3.0~301 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=22f4ddfe8596058636bcb58235e8d849d634eaed;p=platform%2Fupstream%2Fiotivity.git make code more stable by change strcpy to strncpy and prevent memory leak by dereferencing allocated object. Change-Id: Ief21c5a5f9e6f016a9a88948729d636bff3d7650 Signed-off-by: jinhyuck83.park Reviewed-on: https://gerrit.iotivity.org/gerrit/18881 Tested-by: jenkins-iotivity Reviewed-by: Dan Mihai --- diff --git a/resource/src/InProcClientWrapper.cpp b/resource/src/InProcClientWrapper.cpp index be36651..f4d5ea8 100644 --- a/resource/src/InProcClientWrapper.cpp +++ b/resource/src/InProcClientWrapper.cpp @@ -1477,7 +1477,9 @@ namespace OC options[i].protocolID = OC_COAP_ID; options[i].optionID = it->getOptionID(); options[i].optionLength = it->getOptionData().length() + 1; - strcpy((char*)options[i].optionData, (it->getOptionData().c_str())); + strncpy((char*)options[i].optionData, it->getOptionData().c_str(), + sizeof(options[i].optionLength) -1 ); + options[i].optionData[sizeof(options[i].optionLength) - 1] = 0; i++; } @@ -1617,6 +1619,7 @@ namespace OC std::lock_guard lock(*cLock); result = OCDoDirectPairing(static_cast(context), peer->getDev(), pmSel, const_cast(pinNumber.c_str()), directPairingCallback); + delete context; } else {