Bläddra i källkod

fix(variform): return invalid_expression if not string or binary

zmstone 1 år sedan
förälder
incheckning
c0c30dcd8c
1 ändrade filer med 6 tillägg och 1 borttagningar
  1. 6 1
      apps/emqx_utils/src/emqx_variform.erl

+ 6 - 1
apps/emqx_utils/src/emqx_variform.erl

@@ -113,7 +113,12 @@ compile(#{form := _} = Compiled) ->
     {ok, Compiled};
 compile(Expression) when is_binary(Expression) ->
     compile(unicode:characters_to_list(Expression));
-compile(Expression) ->
+compile(Expression) when is_list(Expression) ->
+    do_compile(Expression);
+compile(_Expression) ->
+    {error, invalid_expression}.
+
+do_compile(Expression) ->
     case emqx_variform_scan:string(Expression) of
         {ok, Tokens, _Line} ->
             case emqx_variform_parser:parse(Tokens) of