Просмотр исходного кода

fix(emqx_coap): handle invalid query string in parse

firest 4 лет назад
Родитель
Сommit
a544f162c9
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      apps/emqx_gateway/src/coap/emqx_coap_frame.erl

+ 6 - 3
apps/emqx_gateway/src/coap/emqx_coap_frame.erl

@@ -266,9 +266,12 @@ parse(<<?VERSION:2, Type:2, TKL:4, Class:3, Code:5, MsgId:16, Token:TKL/binary,
 
 
 get_option_val(uri_query, V) ->
 get_option_val(uri_query, V) ->
     KVList = lists:foldl(fun(E, Acc) ->
     KVList = lists:foldl(fun(E, Acc) ->
-                                 [Key, Val] = re:split(E, "="),
-                                 [{Key, Val} | Acc]
-
+                                 case re:split(E, "=") of
+                                     [Key, Val] ->
+                                         [{Key, Val} | Acc];
+                                     _ ->
+                                         Acc
+                                 end
                          end,
                          end,
                          [],
                          [],
                          V),
                          V),