From 3113582ef88d280cfa3c479cc705c3972c777fb7 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 4 Feb 2010 16:29:32 +0000 Subject: [PATCH] hivex: allocate_block should update valid block bitmap. The internal allocate_block() function wasn't updating the bitmap, so if you revisited a block which you had allocated in the same session, you could get an EFAULT error. --- hivex/hivex.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hivex/hivex.c b/hivex/hivex.c index 6b4b9d8..2a094b8 100644 --- a/hivex/hivex.c +++ b/hivex/hivex.c @@ -1847,6 +1847,8 @@ allocate_block (hive_h *h, size_t seg_len, const char id[2]) blockhdr->id[1] = id[1]; } + BITMAP_SET (h->bitmap, offset); + h->endblocks += seg_len; /* If there is space after the last block in the last page, then we -- 1.8.3.1