aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorAndrei Pelinescu-Onciul <andrei@iptel.org>2009-11-23 15:54:01 -0500
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-11-23 15:54:01 -0500
commitda85b7396f3b6cb3fea7d77091498bfa1051ef7c (patch)
tree692d41265fdff68172ea6cd4e70e9efbd40fe88e /net/sctp
parentf6778aab6ccc4b510b4dcfa770d9949b696b4545 (diff)
sctp: fix integer overflow when setting the autoclose timer
When setting the autoclose timeout in jiffies there is a possible integer overflow if the value in seconds is very large (e.g. for 2^22 s with HZ=1024). The problem appears even on 64-bit due to the integer promotion rules. The fix is just a cast to unsigned long. Signed-off-by: Andrei Pelinescu-Onciul <andrei@iptel.org> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/associola.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 880dae2ca87b..6e96f83570c9 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -167,7 +167,7 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a
167 asoc->timeouts[SCTP_EVENT_TIMEOUT_HEARTBEAT] = 0; 167 asoc->timeouts[SCTP_EVENT_TIMEOUT_HEARTBEAT] = 0;
168 asoc->timeouts[SCTP_EVENT_TIMEOUT_SACK] = asoc->sackdelay; 168 asoc->timeouts[SCTP_EVENT_TIMEOUT_SACK] = asoc->sackdelay;
169 asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] = 169 asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] =
170 sp->autoclose * HZ; 170 (unsigned long)sp->autoclose * HZ;
171 171
172 /* Initilizes the timers */ 172 /* Initilizes the timers */
173 for (i = SCTP_EVENT_TIMEOUT_NONE; i < SCTP_NUM_TIMEOUT_TYPES; ++i) 173 for (i = SCTP_EVENT_TIMEOUT_NONE; i < SCTP_NUM_TIMEOUT_TYPES; ++i)