diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-07-14 13:48:39 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-07-14 13:48:39 +0100 |
| commit | 7d9ec52bf2b6f6d280f6120c7a56f6746e1b16b1 (patch) | |
| tree | 30bf4d6f5f5e26c49170ffa038f400faeb5794fd /src/register_manager.cc | |
| parent | f87dbe410ff95a373e58e514c11171364352c826 (diff) | |
Only allow 'sane' register names
Fixes #316
Diffstat (limited to 'src/register_manager.cc')
| -rw-r--r-- | src/register_manager.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/register_manager.cc b/src/register_manager.cc index 27ca47bd..7c174731 100644 --- a/src/register_manager.cc +++ b/src/register_manager.cc @@ -74,6 +74,10 @@ Register& RegisterManager::operator[](StringView reg) Register& RegisterManager::operator[](Codepoint c) { + c = tolower(c); + if (c < 32 or c > 127) + throw runtime_error(format("invalid register name: '{}'", c)); + auto& reg_ptr = m_registers[c]; if (not reg_ptr) reg_ptr.reset(new StaticRegister()); |
