Skip to content

Commit 5442ff5

Browse files
committed
Use macro for stream publisher/consumer reference check guard
References #12499 (cherry picked from commit affdeb3)
1 parent 097ae9f commit 5442ff5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

deps/rabbitmq_stream/src/rabbit_stream_reader.erl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
peer_cert_validity]).
8181
-define(UNKNOWN_FIELD, unknown_field).
8282
-define(SILENT_CLOSE_DELAY, 3_000).
83-
-define(MAX_REFERENCE_SIZE, 255).
83+
-define(IS_INVALID_REF(Ref), is_binary(Ref) andalso byte_size(Ref) > 255).
8484

8585
-import(rabbit_stream_utils, [check_write_permitted/2,
8686
check_read_permitted/3]).
@@ -1665,7 +1665,7 @@ handle_frame_post_auth(Transport,
16651665
State,
16661666
{request, CorrelationId,
16671667
{declare_publisher, _PublisherId, WriterRef, S}})
1668-
when is_binary(WriterRef), byte_size(WriterRef) > ?MAX_REFERENCE_SIZE ->
1668+
when ?IS_INVALID_REF(WriterRef) ->
16691669
{Code, Counter} = case check_write_permitted(stream_r(S, C), User) of
16701670
ok ->
16711671
{?RESPONSE_CODE_PRECONDITION_FAILED, ?PRECONDITION_FAILED};
@@ -1922,7 +1922,7 @@ handle_frame_post_auth(Transport, #stream_connection{} = Connection, State,
19221922
handle_frame_post_auth(Transport, {ok, #stream_connection{user = User} = C}, State,
19231923
{request, CorrelationId,
19241924
{subscribe, _, S, _, _, #{ <<"name">> := N}}})
1925-
when is_binary(N), byte_size(N) > ?MAX_REFERENCE_SIZE ->
1925+
when ?IS_INVALID_REF(N) ->
19261926
{Code, Counter} = case check_read_permitted(stream_r(S, C), User,#{}) of
19271927
ok ->
19281928
{?RESPONSE_CODE_PRECONDITION_FAILED, ?PRECONDITION_FAILED};
@@ -3463,7 +3463,7 @@ clean_state_after_stream_deletion_or_failure(MemberPid, Stream,
34633463
{not_cleaned, C2#stream_connection{stream_leaders = Leaders1}, S2}
34643464
end.
34653465

3466-
store_offset(Reference, _, _, C) when is_binary(Reference), byte_size(Reference) > ?MAX_REFERENCE_SIZE ->
3466+
store_offset(Reference, _, _, C) when ?IS_INVALID_REF(Reference) ->
34673467
rabbit_log:warning("Reference is too long to store offset: ~p", [byte_size(Reference)]),
34683468
C;
34693469
store_offset(Reference, Stream, Offset, Connection0) ->

0 commit comments

Comments
 (0)