From faad5609b924d4447c6fa334fba183753d761fa1 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Fri, 10 Jul 2020 11:49:44 -0700 Subject: [PATCH] ncm: safer access patterns for FirmwareVariationInfo --- .../libstratosphere/source/ncm/ncm_content_meta_utils.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/libstratosphere/source/ncm/ncm_content_meta_utils.cpp b/libraries/libstratosphere/source/ncm/ncm_content_meta_utils.cpp index f4734e245..59639e1af 100644 --- a/libraries/libstratosphere/source/ncm/ncm_content_meta_utils.cpp +++ b/libraries/libstratosphere/source/ncm/ncm_content_meta_utils.cpp @@ -130,7 +130,7 @@ namespace ams::ncm { } else { /* Check if the current variation refers to base. */ const FirmwareVariationInfo *cur_variation_info = extended_data_reader.GetFirmwareVariationInfo(i); - const bool cur_refers_to_base = cur_variation_info->refer_to_base || extended_data_reader.GetHeader()->version == 1; + const bool cur_refers_to_base = extended_data_reader.GetHeader()->version == 1 || cur_variation_info->refer_to_base; /* We force referral to base on unsupported variation only if all supported variations refer to base. */ force_refer_to_base &= cur_refers_to_base; @@ -150,7 +150,7 @@ namespace ams::ncm { const FirmwareVariationInfo *variation_info = extended_data_reader.GetFirmwareVariationInfo(*firmware_variation_index); /* Refer to base if variation info says we should, or if version is 1. */ - const bool refer_to_base = variation_info->refer_to_base || extended_data_reader.GetHeader()->version == 1; + const bool refer_to_base = extended_data_reader.GetHeader()->version == 1 || variation_info->refer_to_base; R_UNLESS(!refer_to_base, ReadMetaInfoListFromBase()); /* Output the content meta count. */