diff --git a/apps/emqtt/src/emqtt_parser.erl b/apps/emqtt/src/emqtt_parser.erl index d2a70993e..387f041d4 100644 --- a/apps/emqtt/src/emqtt_parser.erl +++ b/apps/emqtt/src/emqtt_parser.erl @@ -196,7 +196,7 @@ wrap(Header, Rest) -> % parse_qos(Rest, [QoS | Acc]). parse_topics(_, <<>>, Topics) -> - Topics; + lists:reverse(Topics); parse_topics(?SUBSCRIBE = Sub, Bin, Topics) -> {Name, <<_:6, QoS:2, Rest/binary>>} = parse_utf(Bin), parse_topics(Sub, Rest, [{Name, QoS}| Topics]);