From: Lennart Poettering Date: Tue, 15 Aug 2006 21:53:14 +0000 (+0200) Subject: volume_id: fix fat32 cluster chain traversal X-Git-Tag: 174~2195 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=aa9a49b4b39bfaa465ae9d0f6ac4621cd519b719 volume_id: fix fat32 cluster chain traversal --- diff --git a/extras/volume_id/lib/Makefile b/extras/volume_id/lib/Makefile index e5fd5fcdd..e93f8b5af 100644 --- a/extras/volume_id/lib/Makefile +++ b/extras/volume_id/lib/Makefile @@ -13,7 +13,7 @@ INSTALL_DATA = ${INSTALL} -m 644 INSTALL_LIB = ${INSTALL} -m 755 SHLIB_CUR = 0 -SHLIB_REV = 69 +SHLIB_REV = 70 SHLIB_AGE = 0 SHLIB = libvolume_id.so.$(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE) diff --git a/extras/volume_id/lib/fat.c b/extras/volume_id/lib/fat.c index 92f316a27..9a2e4784d 100644 --- a/extras/volume_id/lib/fat.c +++ b/extras/volume_id/lib/fat.c @@ -349,7 +349,7 @@ fat32: /* set next cluster */ next = le32_to_cpu(*((uint32_t *) buf)) & 0x0fffffff; - if (next == 0) + if (next < 2 || next >= 0x0ffffff0) break; } if (maxloop == 0)