diff --git a/src/osd/modules/osdmodule.cpp b/src/osd/modules/osdmodule.cpp index 8ebf72f4cd4..4b96f12c82e 100644 --- a/src/osd/modules/osdmodule.cpp +++ b/src/osd/modules/osdmodule.cpp @@ -32,8 +32,10 @@ void osd_module_manager::register_module(const module_type &mod_type) osd_printf_verbose("===> registered module %s %s\n", module->name(), module->type()); int i; - for (i = 0; m_modules[i] != nullptr; i++) + for (i = 0; i < MAX_MODULES && m_modules[i] != nullptr; i++) ; + + assert_always(i < MAX_MODULES, "Module registration beyond MAX_MODULES!"); m_modules[i] = module; } else diff --git a/src/osd/modules/osdmodule.h b/src/osd/modules/osdmodule.h index 7cbb10014b2..c2144a8e76c 100644 --- a/src/osd/modules/osdmodule.h +++ b/src/osd/modules/osdmodule.h @@ -62,7 +62,7 @@ class osd_module_manager { public: - static const int MAX_MODULES = 32; + static const int MAX_MODULES = 64; osd_module_manager(); ~osd_module_manager();