From: Tomas Krizek Date: Wed, 24 Mar 2021 16:44:42 +0000 (+0100) Subject: daemon/engine.c: replace asserts X-Git-Tag: v5.4.0~18^2~72 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c252a57ca232c17526d01d185f94014e7e4e1721;p=thirdparty%2Fknot-resolver.git daemon/engine.c: replace asserts --- diff --git a/daemon/engine.c b/daemon/engine.c index 82505b223..9ac8445b1 100644 --- a/daemon/engine.c +++ b/daemon/engine.c @@ -472,10 +472,14 @@ static void init_measurement(struct engine *engine) "})\n" "jit.off()\n", statspath ); - assert(ret > 0); (void)ret; + if (!kr_assume(ret > 0)) + return; ret = luaL_loadstring(engine->L, snippet); - assert(ret == 0); + if (!kr_assume(ret == 0)) { + free(snippet); + return; + } lua_call(engine->L, 0, 0); free(snippet); } @@ -557,13 +561,8 @@ static void engine_unload(struct engine *engine, struct kr_module *module) void engine_deinit(struct engine *engine) { - if (engine == NULL) { + if (!engine || !kr_assume(engine->L)) return; - } - if (!engine->L) { - assert(false); - return; - } /* Only close sockets and services; no need to clean up mempool. */ /* Network deinit is split up. We first need to stop listening, @@ -627,7 +626,8 @@ int engine_load_sandbox(struct engine *engine) int engine_loadconf(struct engine *engine, const char *config_path) { - assert(config_path != NULL); + if (!kr_assume(config_path)) + return kr_error(EINVAL); char cwd[PATH_MAX]; get_workdir(cwd, sizeof(cwd)); @@ -674,10 +674,8 @@ static size_t module_find(module_array_t *mod_list, const char *name) int engine_register(struct engine *engine, const char *name, const char *precedence, const char* ref) { - if (engine == NULL || name == NULL) { - assert(!EINVAL); + if (!kr_assume(engine && name)) return kr_error(EINVAL); - } /* Make sure module is unloaded */ (void) engine_unregister(engine, name); /* Find the index of referenced module. */ @@ -716,11 +714,10 @@ int engine_register(struct engine *engine, const char *name, const char *precede } else { ret = engine_pcall(L, 1); } - if (ret) { + if (!kr_assume(ret == 0)) { /* probably not critical, but weird */ kr_log_error("[system] internal error when loading C module %s: %s\n", module->name, lua_tostring(L, -1)); lua_pop(L, 1); - assert(false); /* probably not critical, but weird */ } } else if (ret == kr_error(ENOENT)) {