From 52eae659832ba529f97290e1ce0572cea66b5939 Mon Sep 17 00:00:00 2001 From: Gilbert Wong Date: Mon, 8 Oct 2018 20:02:32 +0800 Subject: [PATCH] Fix topic_name validation bug Prior to this change, Prior to this change, the validation for the mqtt5.0 publish packet which both contains zero-length topic name and topic alias is wrong. This change fix this bug. --- src/emqx_packet.erl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/emqx_packet.erl b/src/emqx_packet.erl index 1d1e29c6a..7c51688dc 100644 --- a/src/emqx_packet.erl +++ b/src/emqx_packet.erl @@ -55,6 +55,8 @@ validate(?UNSUBSCRIBE_PACKET(PacketId, TopicFilters)) -> validate_packet_id(PacketId) andalso ok == lists:foreach(fun emqx_topic:validate/1, TopicFilters); +validate(?PUBLISH_PACKET(_QoS, <<>>, #{'Topic-Alias':= _I}, _)) -> + true; validate(?PUBLISH_PACKET(_QoS, <<>>, _, _, _)) -> error(topic_name_invalid); validate(?PUBLISH_PACKET(_QoS, Topic, _, Properties, _)) ->