aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-09-15 08:11:29 +0000
committerEric Andersen <andersen@codepoet.org>2003-09-15 08:11:29 +0000
commit2205c84de4c8cc75e3446936f7d93e32391f4aed (patch)
treec616073152862564cf2181b6c7c2619de7b470cf
parent1393a39df491307314679fbc7026eaba60a9efb2 (diff)
downloadbusybox-w32-2205c84de4c8cc75e3446936f7d93e32391f4aed.tar.gz
busybox-w32-2205c84de4c8cc75e3446936f7d93e32391f4aed.tar.bz2
busybox-w32-2205c84de4c8cc75e3446936f7d93e32391f4aed.zip
comparison was always false due to limited range of data types.
Carefully cast to unsigned long long prior to multiply to get the expected result.
-rw-r--r--init/init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/init/init.c b/init/init.c
index 8da358cb5..85792c9b7 100644
--- a/init/init.c
+++ b/init/init.c
@@ -333,7 +333,7 @@ static unsigned int check_free_memory(void)
333 s--; 333 s--;
334 } 334 }
335 result = (info.totalram >> s) + (info.totalswap >> s); 335 result = (info.totalram >> s) + (info.totalswap >> s);
336 if ((unsigned long long) (result * u) > UINT_MAX) { 336 if (((unsigned long long)result * (unsigned long long)u) > UINT_MAX) {
337 return(UINT_MAX); 337 return(UINT_MAX);
338 } else { 338 } else {
339 return(result * u); 339 return(result * u);