From: Woochanlee Date: Mon, 7 Feb 2022 11:10:09 +0000 (+0900) Subject: bootstrap: Fix resource leak issue in InstallAppCommand X-Git-Tag: submit/tizen/20220211.035944~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4103656558082f841702a5cb76e36a59788edd11;p=platform%2Fcore%2Fuifw%2Faurum.git bootstrap: Fix resource leak issue in InstallAppCommand pkgRequest alloc in create and it has to free before end of function scope. Change-Id: I753fcf1f9c3c911daa3ae108220f38fa22160dcd --- diff --git a/org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc index 3f9d5da..10747f3 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc @@ -47,10 +47,27 @@ InstallAppCommand::InstallAppCommand( package_manager_request_h pkgRequest; int id; - package_manager_request_create(&pkgRequest); - package_manager_request_install(pkgRequest, "/tmp/app.tpk", &id); + if (package_manager_request_create(&pkgRequest) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not create install request. App: %s", chunk.package().c_str()); + return grpc::Status::CANCELLED;; + } + if (package_manager_request_install(pkgRequest, "/tmp/app.tpk", &id) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not install application. App: %s", chunk.package().c_str()); + goto END; + } + if (package_manager_request_destroy(pkgRequest) != PACKAGE_MANAGER_ERROR_NONE) { + pkgRequest = NULL; + LOGE("Could not destroy install request. App: %s", chunk.package().c_str()); + goto END; + } return grpc::Status::OK; + +END: + if (pkgRequest != NULL) + package_manager_request_destroy(pkgRequest); + + return grpc::Status::CANCELLED; } ::grpc::Status InstallAppCommand::executePost()