From: Richard Jones Date: Thu, 4 Feb 2010 16:29:32 +0000 (+0000) Subject: hivex: allocate_block should update valid block bitmap. X-Git-Tag: 1.0.83~19 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=3113582ef88d280cfa3c479cc705c3972c777fb7;p=libguestfs.git 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. --- 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