[15/26] gdbserver: check for nullptr condition in regcache::get_register_status

Message ID 893ba2a52032456c31cbb868c2f2ae4e0661b6e0.1677582745.git.tankut.baris.aktemur@intel.com
State New
Headers
Series gdbserver: refactor regcache and allow gradually populating |

Commit Message

Tankut Baris Aktemur Feb. 28, 2023, 11:28 a.m. UTC
  A regcache can be initialized with a register value buffer, in which
case, the register_status pointer is null.  This condition is checked
in set_register_status, but not in get_register_status.  Do this check
for consistence and safety.
---
 gdbserver/regcache.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Patch

diff --git a/gdbserver/regcache.cc b/gdbserver/regcache.cc
index ec11082be6f..0c6f1eb392b 100644
--- a/gdbserver/regcache.cc
+++ b/gdbserver/regcache.cc
@@ -489,7 +489,10 @@  regcache::get_register_status (int regnum) const
 {
 #ifndef IN_PROCESS_AGENT
   gdb_assert (regnum >= 0 && regnum < tdesc->reg_defs.size ());
-  return (enum register_status) (register_status[regnum]);
+  if (register_status != nullptr)
+    return (enum register_status) (register_status[regnum]);
+  else
+    return REG_VALID;
 #else
   return REG_VALID;
 #endif