From: Jan Olszak Date: Fri, 7 Dec 2012 10:36:19 +0000 (+0100) Subject: [Prevent] Ensure we don't use a pointer to a freed resource. X-Git-Tag: 2.1b_release~22^2~180 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4e0d026690a8806faa112adef9442a4935e6b339;p=platform%2Fframework%2Fweb%2Fwrt.git [Prevent] Ensure we don't use a pointer to a freed resource. [Issue#] Using pointer to freed resource. [Bug] N/A [Cause] N/A [Solution] Not using a pointer. [Verification] Build wrt. Run wrt tests. Change-Id: Ide07986f42b0151899961ea9e87a05de5b65e1f1 --- diff --git a/src/wrt-launcher/wrt-launcher.cpp b/src/wrt-launcher/wrt-launcher.cpp index fc41133..fc8783e 100644 --- a/src/wrt-launcher/wrt-launcher.cpp +++ b/src/wrt-launcher/wrt-launcher.cpp @@ -338,7 +338,7 @@ int main(int argc, char* argv[]) } while (next_opt != -1); if ((op == 's') || (op == 'k')) { - const char *temp = NULL; + std::string temp; if (NULL == g_dbConnection.get()) { Try { @@ -360,18 +360,18 @@ int main(int argc, char* argv[]) !strcmp(DPL::ToUTF8String(*d_guid).c_str(), temp_arg)) { DPL::Optional package_name = (*dao)->getPkgname(); - temp = DPL::ToUTF8String(*package_name).c_str(); + temp = DPL::ToUTF8String(*package_name); break; } if (!strcmp(DPL::ToUTF8String(*d_pkgname).c_str(), temp_arg)) { DPL::Optional package_name = (*dao)->getPkgname(); - temp = DPL::ToUTF8String(*package_name).c_str(); + temp = DPL::ToUTF8String(*package_name); break; } } - if (temp != NULL) { - strncpy(pkgname, (char *)temp, strlen(temp)); + if (!temp.empty()) { + strncpy(pkgname, temp.c_str(), strlen(temp.c_str())); } else { printf("result: %s\n", "failed"); return -1;