From 1f5314302b3c8bc1977aed79df1d05c52608f382 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Mon, 3 Jan 2022 15:35:14 -0600 Subject: Don't assume Exe packages with Burn protocol are bundles. Related to #3693 --- src/burn/engine/package.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'src/burn/engine/package.cpp') diff --git a/src/burn/engine/package.cpp b/src/burn/engine/package.cpp index bea48cb5..d9087f79 100644 --- a/src/burn/engine/package.cpp +++ b/src/burn/engine/package.cpp @@ -350,6 +350,9 @@ extern "C" void PackageUninitialize( switch (pPackage->type) { + case BURN_PACKAGE_TYPE_BUNDLE: + BundlePackageEnginePackageUninitialize(pPackage); + break; case BURN_PACKAGE_TYPE_EXE: ExeEnginePackageUninitialize(pPackage); // TODO: Modularization break; @@ -439,22 +442,11 @@ extern "C" HRESULT PackageFindRelatedById( ) { HRESULT hr = S_OK; - BURN_PACKAGE* pPackage = NULL; - - for (DWORD i = 0; i < pRelatedBundles->cRelatedBundles; ++i) - { - pPackage = &pRelatedBundles->rgRelatedBundles[i].package; - - if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pPackage->sczId, -1, wzId, -1)) - { - *ppPackage = pPackage; - ExitFunction1(hr = S_OK); - } - } + BURN_RELATED_BUNDLE* pRelatedBundle = NULL; + + hr = RelatedBundleFindById(pRelatedBundles, wzId, &pRelatedBundle); + *ppPackage = FAILED(hr) ? NULL : &pRelatedBundle->package; - hr = E_NOTFOUND; - -LExit: return hr; } -- cgit v1.2.3-55-g6feb