diff options
author | Eric Andersen <andersen@codepoet.org> | 2003-09-15 08:11:29 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2003-09-15 08:11:29 +0000 |
commit | 2205c84de4c8cc75e3446936f7d93e32391f4aed (patch) | |
tree | c616073152862564cf2181b6c7c2619de7b470cf | |
parent | 1393a39df491307314679fbc7026eaba60a9efb2 (diff) | |
download | busybox-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.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); |