From: Heinrich Schuchardt Date: Sun, 30 Jul 2023 14:44:04 +0000 (+0200) Subject: fs: fat: avoid multiplication overflow X-Git-Tag: v2024.01-rc1~42^2~36^2~5 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84032b6759024337a81ae5d8e23a39110381743b;p=pandora-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 a6294419b8d..8b5d669b005 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)