From 3968faec06a24dfc97f0042591e8adc18823a8d8 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Fri, 21 Oct 2022 01:52:10 -0400
Subject: [PATCH 1/3] k_session_request: Simplify constructor initialization

---
 src/core/hle/kernel/k_session_request.h | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/src/core/hle/kernel/k_session_request.h b/src/core/hle/kernel/k_session_request.h
index fcf521597..5a43933cf 100644
--- a/src/core/hle/kernel/k_session_request.h
+++ b/src/core/hle/kernel/k_session_request.h
@@ -52,8 +52,7 @@ public:
         };
 
     public:
-        explicit SessionMappings(KernelCore& kernel_)
-            : kernel(kernel_), m_mappings(nullptr), m_num_send(), m_num_recv(), m_num_exch() {}
+        explicit SessionMappings(KernelCore& kernel_) : kernel(kernel_) {}
 
         void Initialize() {}
         void Finalize();
@@ -150,16 +149,14 @@ public:
     private:
         KernelCore& kernel;
         Mapping m_static_mappings[NumStaticMappings];
-        Mapping* m_mappings;
-        u8 m_num_send;
-        u8 m_num_recv;
-        u8 m_num_exch;
+        Mapping* m_mappings{};
+        u8 m_num_send{};
+        u8 m_num_recv{};
+        u8 m_num_exch{};
     };
 
 public:
-    explicit KSessionRequest(KernelCore& kernel_)
-        : KAutoObject(kernel_), m_mappings(kernel_), m_thread(nullptr), m_server(nullptr),
-          m_event(nullptr) {}
+    explicit KSessionRequest(KernelCore& kernel_) : KAutoObject(kernel_), m_mappings(kernel_) {}
 
     static KSessionRequest* Create(KernelCore& kernel) {
         KSessionRequest* req = KSessionRequest::Allocate(kernel);
@@ -297,11 +294,11 @@ private:
 
 private:
     SessionMappings m_mappings;
-    KThread* m_thread;
-    KProcess* m_server;
-    KEvent* m_event;
-    uintptr_t m_address;
-    size_t m_size;
+    KThread* m_thread{};
+    KProcess* m_server{};
+    KEvent* m_event{};
+    uintptr_t m_address{};
+    size_t m_size{};
 };
 
 } // namespace Kernel

From 969387a79ab5888c39c5ac8bd298205e700819f8 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Fri, 21 Oct 2022 01:54:31 -0400
Subject: [PATCH 2/3] k_session_request: Turn C-style array into std::array

Makes for stronger typing and allows tooling bounds checks provided by
the standard library for debugging purposes.
---
 src/core/hle/kernel/k_session_request.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/core/hle/kernel/k_session_request.h b/src/core/hle/kernel/k_session_request.h
index 5a43933cf..42b1207f0 100644
--- a/src/core/hle/kernel/k_session_request.h
+++ b/src/core/hle/kernel/k_session_request.h
@@ -3,6 +3,8 @@
 
 #pragma once
 
+#include <array>
+
 #include "core/hle/kernel/k_auto_object.h"
 #include "core/hle/kernel/k_event.h"
 #include "core/hle/kernel/k_memory_block.h"
@@ -148,7 +150,7 @@ public:
 
     private:
         KernelCore& kernel;
-        Mapping m_static_mappings[NumStaticMappings];
+        std::array<Mapping, NumStaticMappings> m_static_mappings;
         Mapping* m_mappings{};
         u8 m_num_send{};
         u8 m_num_recv{};

From 93a7058d8ef62e978a5fc73c1c31f60c33866ee1 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Fri, 21 Oct 2022 01:56:14 -0400
Subject: [PATCH 3/3] k_session_request: Add missing override specifier

---
 src/core/hle/kernel/k_session_request.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core/hle/kernel/k_session_request.h b/src/core/hle/kernel/k_session_request.h
index 42b1207f0..e5558bc2c 100644
--- a/src/core/hle/kernel/k_session_request.h
+++ b/src/core/hle/kernel/k_session_request.h
@@ -280,7 +280,7 @@ public:
 
 private:
     // NOTE: This is public and virtual in Nintendo's kernel.
-    void Finalize() {
+    void Finalize() override {
         m_mappings.Finalize();
 
         if (m_thread) {