Merge pull request #6216 from lioncash/uninit-read

arp: Prevent potential uninitialized read of launch member variable
This commit is contained in:
bunnei 2021-04-19 14:30:36 -07:00 committed by GitHub
commit 0da84c4de8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -157,9 +157,9 @@ class IRegistrar final : public ServiceFramework<IRegistrar> {
friend class ARP_W; friend class ARP_W;
public: public:
explicit IRegistrar( using IssuerFn = std::function<ResultCode(u64, ApplicationLaunchProperty, std::vector<u8>)>;
Core::System& system_,
std::function<ResultCode(u64, ApplicationLaunchProperty, std::vector<u8>)> issuer) explicit IRegistrar(Core::System& system_, IssuerFn&& issuer)
: ServiceFramework{system_, "IRegistrar"}, issue_process_id{std::move(issuer)} { : ServiceFramework{system_, "IRegistrar"}, issue_process_id{std::move(issuer)} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
@ -238,9 +238,9 @@ private:
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
} }
std::function<ResultCode(u64, ApplicationLaunchProperty, std::vector<u8>)> issue_process_id; IssuerFn issue_process_id;
bool issued = false; bool issued = false;
ApplicationLaunchProperty launch; ApplicationLaunchProperty launch{};
std::vector<u8> control; std::vector<u8> control;
}; };