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 /init | |
| 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.
Diffstat (limited to 'init')
| -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); |
