From afec6fa2f6c547c52479332df1d92703925a0e8d Mon Sep 17 00:00:00 2001 From: JimMoen Date: Wed, 25 Oct 2023 17:12:28 +0800 Subject: [PATCH] fix: TopicFilter may modified by `client.subscribe` hook --- apps/emqx/src/emqx_channel.erl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/emqx/src/emqx_channel.erl b/apps/emqx/src/emqx_channel.erl index 61b31c6e1..81e01e1bd 100644 --- a/apps/emqx/src/emqx_channel.erl +++ b/apps/emqx/src/emqx_channel.erl @@ -796,19 +796,19 @@ do_gen_reason_codes(Acc, [], []) -> lists:reverse(Acc); do_gen_reason_codes( Acc, - [{_TF, ?RC_SUCCESS} | RestCheckedTF], - [{_TF, NRC} | RestTFWithNRC] + [{_, ?RC_SUCCESS} | RestTF], + [{_, NRC} | RestWithNRC] ) -> %% will passing through `process_subscribe/2` %% use NRC to override IintialRC - do_gen_reason_codes([NRC | Acc], RestCheckedTF, RestTFWithNRC); + do_gen_reason_codes([NRC | Acc], RestTF, RestWithNRC); do_gen_reason_codes( Acc, - [{_TF, InitialRC} | RestChecked], - RestTFWithNRC + [{_, InitialRC} | Rest], + RestWithNRC ) -> %% InitialRC is not `RC_SUCCESS`, use it. - do_gen_reason_codes([InitialRC | Acc], RestChecked, RestTFWithNRC). + do_gen_reason_codes([InitialRC | Acc], Rest, RestWithNRC). %%-------------------------------------------------------------------- %% Process Unsubscribe