summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Mazzoli <francesco@rabbitmq.com>2012-09-10 10:32:42 +0100
committerFrancesco Mazzoli <francesco@rabbitmq.com>2012-09-10 10:32:42 +0100
commitd5e9bebeb20873ee4b8140a168310a5aa5d81d72 (patch)
treec2a5f79017727fad6cd66580e0ccb8c5d2c5ae39
parent4f489bd425cd9bcfd47ed1d2de84650840446be9 (diff)
downloadrabbitmq-server-bug24867.tar.gz
check that the ttl values are less than what `erlang:send_after' likesbug24867
Since it's an extension to begin with, I think it's OK to limit it. I doubt anyone will ever want a ttl of more than 50 days, and if they really complain we can fix it in the future.
-rw-r--r--src/rabbit_amqqueue.erl16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 461b25eb..7628d109 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -40,6 +40,8 @@
-define(INTEGER_ARG_TYPES, [byte, short, signedint, long]).
+-define(MAX_EXPIRY_TIMER, 4294967295).
+
-define(MORE_CONSUMER_CREDIT_AFTER, 50).
-define(FAILOVER_WAIT_MILLIS, 100).
@@ -397,16 +399,18 @@ check_int_arg({Type, _}, _) ->
check_positive_int_arg({Type, Val}, Args) ->
case check_int_arg({Type, Val}, Args) of
- ok when Val > 0 -> ok;
- ok -> {error, {value_zero_or_less, Val}};
- Error -> Error
+ ok when Val > ?MAX_EXPIRY_TIMER -> {error, {value_too_big, Val}};
+ ok when Val > 0 -> ok;
+ ok -> {error, {value_zero_or_less, Val}};
+ Error -> Error
end.
check_non_neg_int_arg({Type, Val}, Args) ->
case check_int_arg({Type, Val}, Args) of
- ok when Val >= 0 -> ok;
- ok -> {error, {value_less_than_zero, Val}};
- Error -> Error
+ ok when Val > ?MAX_EXPIRY_TIMER -> {error, {value_too_big, Val}};
+ ok when Val >= 0 -> ok;
+ ok -> {error, {value_less_than_zero, Val}};
+ Error -> Error
end.
check_dlxrk_arg({longstr, _}, Args) ->