diff options
| author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-09-10 10:32:42 +0100 |
|---|---|---|
| committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-09-10 10:32:42 +0100 |
| commit | 120807d00ac013131a7a941a09c251c75a93c32d (patch) | |
| tree | c2a5f79017727fad6cd66580e0ccb8c5d2c5ae39 /src | |
| parent | 456af22937c237ea04cb529938665564bcecf999 (diff) | |
| download | rabbitmq-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.erl | 16 |
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) -> |
