diff options
author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2003-09-15 08:11:29 +0000 |
---|---|---|
committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2003-09-15 08:11:29 +0000 |
commit | f4c8a12e26a80d0c07e66ad81aea2201a89d1d97 (patch) | |
tree | c616073152862564cf2181b6c7c2619de7b470cf | |
parent | 7c04a2116b70efbf1e071a4b52b363089453dcf3 (diff) | |
download | busybox-w32-f4c8a12e26a80d0c07e66ad81aea2201a89d1d97.tar.gz busybox-w32-f4c8a12e26a80d0c07e66ad81aea2201a89d1d97.tar.bz2 busybox-w32-f4c8a12e26a80d0c07e66ad81aea2201a89d1d97.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.
git-svn-id: svn://busybox.net/trunk/busybox@7523 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | init/init.c | 2 |
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); |