From: Eric Andersen Date: Mon, 15 Sep 2003 08:11:29 +0000 (-0000) Subject: comparison was always false due to limited range of data types. X-Git-Tag: 1_00_pre4~177 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2205c84de4c8cc75e3446936f7d93e32391f4aed;p=oweals%2Fbusybox.git 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. --- 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) s--; } result = (info.totalram >> s) + (info.totalswap >> s); - if ((unsigned long long) (result * u) > UINT_MAX) { + if (((unsigned long long)result * (unsigned long long)u) > UINT_MAX) { return(UINT_MAX); } else { return(result * u);