summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/dosfs/msdos_format.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-11-09 15:20:54 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-11-09 15:20:54 +0000
commitf20ea02f85301af731abf6a628b4d1c83cd0504d (patch)
treea1d8aff95511cb90156e942b4fd2896caf54d2f9 /cpukit/libfs/src/dosfs/msdos_format.c
parent2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-f20ea02f85301af731abf6a628b4d1c83cd0504d.tar.bz2
2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* libfs/src/dosfs/msdos_format.c: Rework to avoid overflow on 16-bit targets.
Diffstat (limited to 'cpukit/libfs/src/dosfs/msdos_format.c')
-rw-r--r--cpukit/libfs/src/dosfs/msdos_format.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/libfs/src/dosfs/msdos_format.c b/cpukit/libfs/src/dosfs/msdos_format.c
index c420333243..23beb4d144 100644
--- a/cpukit/libfs/src/dosfs/msdos_format.c
+++ b/cpukit/libfs/src/dosfs/msdos_format.c
@@ -490,7 +490,8 @@ static int msdos_format_determine_fmt_params
fmt_params->sectors_per_cluster = 2;
}
else {
- uint32_t gigs = (total_size + (1024 * 1024 * 1024)) / (1024 * 1024 * 1024);
+ #define ONE_GB (1024L * 1024L * 1024L)
+ uint32_t gigs = (total_size + ONE_GB) / ONE_GB;
int b;
fmt_params->fattype = FAT_FAT32;
/* scale with the size of disk... */