From 6aa5cc17fed40491d237ac5823d11ac123327046 Mon Sep 17 00:00:00 2001 From: szaka Date: Tue, 24 May 2005 21:13:51 +0000 Subject: [PATCH] ntfsresize: fix segfault during fsck if $Bitmap was larger than expected --- ChangeLog | 2 ++ ntfsprogs/ntfsresize.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index b6f37ffb..af975422 100644 --- a/ChangeLog +++ b/ChangeLog @@ -141,6 +141,8 @@ xx/xx/2005 - 2.0.0-WIP the volume is tried to be opened read-write. (Szaka) - Move back from BitKeeper to CVS on SF.net and fix executable permissions that got lost during the move. (Anton) + - ntfsresize: fix segfault during filesystem check if NTFS $Bitmap file + size was larger than it should have been. (Szaka) 04/09/2004 - 1.9.4 - Urgent bug fixes. diff --git a/ntfsprogs/ntfsresize.c b/ntfsprogs/ntfsresize.c index adaf534c..cccf34b1 100644 --- a/ntfsprogs/ntfsresize.c +++ b/ntfsprogs/ntfsresize.c @@ -873,6 +873,11 @@ static void compare_bitmaps(ntfs_volume *vol, struct bitmap *a) break; } + if (a->size < pos + count) + err_exit("$Bitmap file size is larger than " + "expected (%lld+ versus %lld)\n", + pos + count, a->size); + for (i = 0; i < count; i++, pos++) { s64 cl; /* current cluster */