浏览代码

lcr: fix crash be calling load_gw* via KEMI

move the check of lcr_id to the helper

fixes #3435

(cherry picked from commit c88e506fe6a1ba0f588c5866a63ffb18fa25478a)
Victor Seva 2 年之前
父节点
当前提交
3bab39400f
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      src/modules/lcr/lcr_mod.c

+ 6 - 4
src/modules/lcr/lcr_mod.c

@@ -2298,6 +2298,11 @@ static int ki_load_gws_furi(
 		}
 	}
 
+	if((lcr_id < 1) || (lcr_id > lcr_count_param)) {
+		LM_ERR("invalid lcr_id parameter value %d\n", lcr_id);
+		return -1;
+	}
+
 	/* Use rules and gws with index lcr_id */
 	rules = rule_pt[lcr_id];
 	gws = gw_pt[lcr_id];
@@ -2492,10 +2497,7 @@ static int load_gws(struct sip_msg *_m, int argc, action_u_t argv[])
 		LM_ERR("invalid lcr_id parameter %s\n", argv[0].u.string);
 		return -1;
 	}
-	if((lcr_id < 1) || (lcr_id > lcr_count_param)) {
-		LM_ERR("invalid lcr_id parameter value %d\n", lcr_id);
-		return -1;
-	}
+
 	if(argc > 1) {
 		ruri_user = argv[1].u.str;
 	} else {