From ef4f906d702a56788ab5178ed7bf176965e926fb Mon Sep 17 00:00:00 2001 From: ksherlock Date: Sat, 22 May 2010 16:11:41 +0000 Subject: [PATCH] more block checking git-svn-id: https://profuse.googlecode.com/svn/branches/v2@259 aa027e90-d47c-11dd-86d7-074df07e0730 --- Cache/MappedBlockCache.cpp | 13 +++++++++++++ Cache/MappedBlockCache.h | 8 ++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Cache/MappedBlockCache.cpp b/Cache/MappedBlockCache.cpp index ba17efe..1d1be58 100644 --- a/Cache/MappedBlockCache.cpp +++ b/Cache/MappedBlockCache.cpp @@ -64,6 +64,12 @@ void MappedBlockCache::release(unsigned block, int flags) void MappedBlockCache::write(unsigned block, const void *vp) { +#undef __METHOD__ +#define __METHOD__ "MappedBlockCache::write" + + if (block >= blocks()) + throw Exception(__METHOD__ ": Invalid block."); + _dirty = true; std::memcpy(_data + block * 512, vp, 512); } @@ -71,6 +77,13 @@ void MappedBlockCache::write(unsigned block, const void *vp) void MappedBlockCache::zeroBlock(unsigned block) { +#undef __METHOD__ +#define __METHOD__ "MappedBlockCache::zeroBlock" + + if (block >= blocks()) + throw Exception(__METHOD__ ": Invalid block."); + + _dirty = true; std::memset(_data + block * 512, 0, 512); } diff --git a/Cache/MappedBlockCache.h b/Cache/MappedBlockCache.h index 951a974..a3402ff 100644 --- a/Cache/MappedBlockCache.h +++ b/Cache/MappedBlockCache.h @@ -22,11 +22,11 @@ class MappedBlockCache : public BlockCache { virtual void markDirty(unsigned block); private: - void sync(unsigned block); + + void sync(unsigned block); - uint8_t *_data; - bool _dirty; - + uint8_t *_data; + bool _dirty; }; } // namespace