summaryrefslogtreecommitdiff
path: root/src
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
commit120807d00ac013131a7a941a09c251c75a93c32d (patch)
treec2a5f79017727fad6cd66580e0ccb8c5d2c5ae39 /src
parent456af22937c237ea04cb529938665564bcecf999 (diff)
downloadrabbitmq-server-git-120807d00ac013131a7a941a09c251c75a93c32d.tar.gz
check that the ttl values are less than what `erlang:send_after' likes
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.
Diffstat (limited to 'src')
-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 461b25ebef..7628d1097d 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) ->