From 04fa44c37e39953c1bc7b3e488cc9a7663dde56f Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 13 Jun 2013 11:26:30 +0200 Subject: [PATCH] nfs4: Fix CID #1032280: Prevent integer overflow * Do not increase delay after tenth attempt * Cast 1 to bigtime_t before shifting it left --- src/add-ons/kernel/file_systems/nfs4/NFS4Object.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Object.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Object.cpp index c7f7827a2e..c07bdd86ef 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Object.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Object.cpp @@ -17,9 +17,9 @@ static inline bigtime_t RetryDelay(uint32 attempt, uint32 leaseTime = 0) { - attempt = min_c(attempt, sizeof(bigtime_t) * 8); + attempt = min_c(attempt, 10); - bigtime_t delay = (1 << (attempt - 1)) * 100000; + bigtime_t delay = (bigtime_t(1) << (attempt - 1)) * 100000; if (leaseTime != 0) delay = min_c(delay, sSecToBigTime(leaseTime)); return delay;