From: Heinrich Schuchardt Date: Sun, 30 Jul 2023 14:44:04 +0000 (+0200) Subject: fs: fat: avoid multiplication overflow X-Git-Tag: v2025.01-rc5-pxa1908~847^2~36^2~5 X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-logo.png?a=commitdiff_plain;h=84032b6759024337a81ae5d8e23a39110381743b;p=u-boot.git fs: fat: avoid multiplication overflow The product of two 32 bit integers is a 32 bit integer. Hence clustcount * bytesperclust may overflow on > 4 GiB devices. Change the type of clustcount. Fixes: cb8af8af5ba0 ("fs: fat: support write with non-zero offset") Signed-off-by: Heinrich Schuchardt --- diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c index a6294419b8..8b5d669b00 100644 --- a/fs/fat/fat_write.c +++ b/fs/fat/fat_write.c @@ -690,8 +690,8 @@ get_set_cluster(fsdata *mydata, __u32 clustnum, loff_t pos, __u8 *buffer, static u8 *tmpbuf_cluster; unsigned int bytesperclust = mydata->clust_size * mydata->sect_size; __u32 startsect; - loff_t wsize; - int clustcount, i, ret; + loff_t clustcount, wsize; + int i, ret; *gotsize = 0; if (!size)