diff options
-rw-r--r-- | common.mk | 2 | ||||
-rw-r--r-- | ubi-utils/new-utils/src/libmtd.c | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -2,7 +2,7 @@ CC := $(CROSS)gcc AR := $(CROSS)ar RANLIB := $(CROSS)ranlib CFLAGS ?= -O2 -g -CFLAGS += -Wall -Wwrite-strings -W +CFLAGS += -Wall -Wwrite-strings -W -D_FILE_OFFSET_BITS=64 DESTDIR ?= /usr/local PREFIX=/usr diff --git a/ubi-utils/new-utils/src/libmtd.c b/ubi-utils/new-utils/src/libmtd.c index aab4b0e..b60ddbd 100644 --- a/ubi-utils/new-utils/src/libmtd.c +++ b/ubi-utils/new-utils/src/libmtd.c @@ -189,7 +189,7 @@ int mtd_is_bad(const struct mtd_info *mtd, int eb) if (!mtd->allows_bb) return 0; - seek = eb * mtd->eb_size; + seek = (loff_t)eb * mtd->eb_size; ret = ioctl(mtd->fd, MEMGETBADBLOCK, &seek); if (ret == -1) { sys_errmsg("MEMGETBADBLOCK ioctl failed for " @@ -231,7 +231,7 @@ int mtd_read(const struct mtd_info *mtd, int eb, int offs, void *buf, int len) } /* Seek to the beginning of the eraseblock */ - seek = eb * mtd->eb_size + offs; + seek = (off_t)eb * mtd->eb_size + offs; if (lseek(mtd->fd, seek, SEEK_SET) != seek) { sys_errmsg("cannot seek mtd%d to offset %llu", mtd->num, (unsigned long long)seek); @@ -296,7 +296,7 @@ int mtd_write(const struct mtd_info *mtd, int eb, int offs, void *buf, int len) #endif /* Seek to the beginning of the eraseblock */ - seek = eb * mtd->eb_size + offs; + seek = (off_t)eb * mtd->eb_size + offs; if (lseek(mtd->fd, seek, SEEK_SET) != seek) { sys_errmsg("cannot seek mtd%d to offset %llu", mtd->num, (unsigned long long)seek); |