diff options
author | Vlad Ionescu <vlad@lshift.net> | 2010-05-14 18:07:39 +0100 |
---|---|---|
committer | Vlad Ionescu <vlad@lshift.net> | 2010-05-14 18:07:39 +0100 |
commit | cd0006e46569fc2fbd0395bb23fff02434ecea32 (patch) | |
tree | 1a32de83213b0016fa2508198cedda5fbcc04a53 | |
parent | c05ae22f463ce280bde92ab89c2d911c0e96730f (diff) | |
download | rabbitmq-server-bug22761.tar.gz |
handling the case of empty payload in rabbit_binary_generator:build_content_frames/7bug22761
-rw-r--r-- | src/rabbit_binary_generator.erl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_binary_generator.erl b/src/rabbit_binary_generator.erl index ed843735..27a1275a 100644 --- a/src/rabbit_binary_generator.erl +++ b/src/rabbit_binary_generator.erl @@ -118,10 +118,11 @@ build_content_frames(SizeAcc, FramesAcc, FragSizeRem, FragAcc, [Frag | Frags], BodyPayloadMax, ChannelInt) -> Size = size(Frag), {NewFragSizeRem, NewFragAcc, NewFrags} = - case Size =< FragSizeRem of - true -> {FragSizeRem - Size, [Frag | FragAcc], Frags}; - false -> <<Head:FragSizeRem/binary, Tail/binary>> = Frag, - {0, [Head | FragAcc], [Tail | Frags]} + if Size == 0 -> {FragSizeRem, FragAcc, Frags}; + Size =< FragSizeRem -> {FragSizeRem - Size, [Frag | FragAcc], Frags}; + true -> <<Head:FragSizeRem/binary, Tail/binary>> = + Frag, + {0, [Head | FragAcc], [Tail | Frags]} end, build_content_frames(SizeAcc, FramesAcc, NewFragSizeRem, NewFragAcc, NewFrags, BodyPayloadMax, ChannelInt). |