From 67e09fc4e714b67d0bcc1b942cf547d88e80d3f5 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 08 八月 2019 10:53:14 +0800 Subject: [PATCH] 防止拼出的表达式有误出现的宕机 --- labelFilter/ruleForLabel.go | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/labelFilter/ruleForLabel.go b/labelFilter/ruleForLabel.go index ba8cbd0..df28b40 100644 --- a/labelFilter/ruleForLabel.go +++ b/labelFilter/ruleForLabel.go @@ -67,6 +67,7 @@ expression, err := govaluate.NewEvaluableExpression(result); if err != nil { logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒") + return } result, err1 := expression.Evaluate(nil) if err1 != nil { @@ -107,6 +108,7 @@ expression, err := govaluate.NewEvaluableExpression("t1 < t2"); if err != nil { logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒") + return false } parameters := make(map[string]interface{}, 8) parameters["t1"] = time1 @@ -167,7 +169,7 @@ logger.Info("-------鎵撳嵃搴曞簱瑙勫垯鍏紡锛�",formula) if err != nil { logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula) - //return "false" + return "false" } result, err1 := expression.Evaluate(nil) if err1 != nil { @@ -208,7 +210,7 @@ expression, err := govaluate.NewEvaluableExpression(formula); if err != nil { logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula) - //return "false" + return "false" } result, err1 := expression.Evaluate(nil) if err1 != nil { @@ -232,7 +234,7 @@ expression, err := govaluate.NewEvaluableExpression(formula); if err != nil { logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula) - //return "false" + return "false" } result, err1 := expression.Evaluate(nil) if err1 != nil { @@ -264,12 +266,12 @@ } } else { for _, def := range label.DefenceLevel { - formula := strconv.Itoa(int(def)) + rule.Operator + formate(rule.RuleValue) + formula := strconv.Itoa(int(def)) + rule.Operator + rule.RuleValue logger.Info("-------鎵撳嵃甯冮槻绛夌骇瑙勫垯鍏紡锛�",formula) expression, err := govaluate.NewEvaluableExpression(formula); if err != nil { logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula) - //return "false" + return "false" } result, err1 := expression.Evaluate(nil) if err1 != nil { -- Gitblit v1.8.0