diff --git a/src/base/reg.c b/src/base/reg.c index c2cb42d5face4d41f9785e5346005eee103c9367..814cafaa4701187388c5ab54fd9f68329f959313 100644 --- a/src/base/reg.c +++ b/src/base/reg.c @@ -22,7 +22,9 @@ reg_global(struct module_reg **reg_ptr) PRIVATE_FUNCTION void * reg_internal_get(struct module_reg *reg, const char *name) { - for (int i = 0; (reg + i) && (reg + i)->name && (reg + i)->obj; ++i) { + if (reg == NULL) + return NULL; + for (int i = 0; (reg + i)->name && (reg + i)->obj; ++i) { if (STR_MATCH((reg + i)->name, name)) return (reg + i)->obj; } @@ -32,7 +34,9 @@ reg_internal_get(struct module_reg *reg, const char *name) PRIVATE_FUNCTION reg_func reg_internal_func(struct module_reg *reg, const char *name) { - for (int i = 0; (reg + i) && (reg + i)->name && (reg + i)->func; ++i) { + if (reg == NULL) + return NULL; + for (int i = 0; (reg + i)->name && (reg + i)->func; ++i) { if (STR_MATCH((reg + i)->name, name)) return (reg + i)->func; }