From 22cbeb760399df1369d5da5df2e9467b73e2fcff Mon Sep 17 00:00:00 2001 From: "hb.min" Date: Thu, 28 Mar 2013 11:19:15 +0900 Subject: [PATCH] Fix the crash while installing of ServiceApp Change-Id: Idfa5c0fc83767e1fa7f73863379cb23320884099 Signed-off-by: hb.min --- inc/InstallerDefs.h | 2 +- src/Step/SignatureStep.cpp | 7 +++++-- src/XmlHandler/ManifestHandler.cpp | 8 ++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/inc/InstallerDefs.h b/inc/InstallerDefs.h index e7478a5..428c35f 100755 --- a/inc/InstallerDefs.h +++ b/inc/InstallerDefs.h @@ -23,7 +23,7 @@ #include "InstallerUtil.h" -#define OSP_INSTALLER_VERSION "version=[20130326.2]" +#define OSP_INSTALLER_VERSION "version=[20130328.1]" #define DIR_BIN L"/bin" #define DIR_INFO L"/info" diff --git a/src/Step/SignatureStep.cpp b/src/Step/SignatureStep.cpp index 460620b..96b006a 100755 --- a/src/Step/SignatureStep.cpp +++ b/src/Step/SignatureStep.cpp @@ -168,8 +168,11 @@ SignatureStep::OnStateRootCert(void) AppLog("PackageId = [%ls], CertType = [%d], ApiVisibility = [%d]", packageId.GetPointer(), certType, apiVisibility); - r = PrivilegeHandler::GenerateCipherPrivilege(packageId, *pPrivilegeList, apiVisibility, privileges, hmacPrivileges, stringPrivilegeList); - TryCatch(!IsFailed(r), error = INSTALLER_ERROR_PRIVILEGE_INVALID, "privMgr.GeneratePrivilegeString() failed"); + if (pPrivilegeList != null) + { + r = PrivilegeHandler::GenerateCipherPrivilege(packageId, *pPrivilegeList, apiVisibility, privileges, hmacPrivileges, stringPrivilegeList); + TryCatch(!IsFailed(r), error = INSTALLER_ERROR_PRIVILEGE_INVALID, "privMgr.GeneratePrivilegeString() failed"); + } __pContext->__privileges = privileges; __pContext->__hmacPrivileges = hmacPrivileges; diff --git a/src/XmlHandler/ManifestHandler.cpp b/src/XmlHandler/ManifestHandler.cpp index e10896d..65c52d5 100755 --- a/src/XmlHandler/ManifestHandler.cpp +++ b/src/XmlHandler/ManifestHandler.cpp @@ -677,8 +677,12 @@ ManifestHandler::OnPrivilegesEndElement(void) ArrayList stringPrivilegeList; stringPrivilegeList.Construct(125); PackageId packageId = __pContext->__packageId; - r = PrivilegeHandler::GenerateCipherPrivilege(packageId, *__pPrivilegeList, privileges, hmacPrivileges, stringPrivilegeList); - TryReturn(!IsFailed(r), false, "privMgr.GeneratePrivilegeString() failed"); + + if (__pPrivilegeList != null) + { + r = PrivilegeHandler::GenerateCipherPrivilege(packageId, *__pPrivilegeList, privileges, hmacPrivileges, stringPrivilegeList); + TryReturn(!IsFailed(r), false, "privMgr.GeneratePrivilegeString() failed"); + } __pContext->__privileges = privileges; __pContext->__hmacPrivileges = hmacPrivileges; -- 2.7.4