From ff5a879bb52bd2537735b453d0d5655dc837dcc3 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Fri, 23 Mar 2018 08:33:09 +0100 Subject: [PATCH] evrexec: use route_get() in modparam callback - routing blocks might not have been parsed yet (cherry picked from commit d2479c96891db6656dbe880c6600d18f5fa38e33) --- src/modules/evrexec/evrexec_mod.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/evrexec/evrexec_mod.c b/src/modules/evrexec/evrexec_mod.c index a91ab4d9f79..0fdd06923a9 100644 --- a/src/modules/evrexec/evrexec_mod.c +++ b/src/modules/evrexec/evrexec_mod.c @@ -158,7 +158,12 @@ void evrexec_process(evrexec_task_t *it, int idx) if(it->wait>0) sleep_us(it->wait); keng = sr_kemi_eng_get(); if(keng==NULL) { - run_top_route(event_rt.rlist[it->rtid], fmsg, 0); + if(it->rtid>=0 && event_rt.rlist[it->rtid]!=NULL) { + run_top_route(event_rt.rlist[it->rtid], fmsg, 0); + } else { + LM_WARN("empty event route block [%.*s]\n", + it->ename.len, it->ename.s); + } } else { sidx.s = int2str(idx, &sidx.len); if(keng->froute(fmsg, EVENT_ROUTE, @@ -227,7 +232,7 @@ int evrexec_param(modparam_t type, void *val) tmp.ename.s[tmp.ename.len] = '\0'; keng = sr_kemi_eng_get(); if(keng==NULL) { - tmp.rtid = route_lookup(&event_rt, tmp.ename.s); + tmp.rtid = route_get(&event_rt, tmp.ename.s); if(tmp.rtid == -1) { LM_ERR("event route not found: %.*s\n", tmp.ename.len, tmp.ename.s); free_params(params_list);