cache_abort_transaction() freed the wrong block, and thus causing a file system
corruption even better than during its absence. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12903 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+1
-1
@@ -619,7 +619,7 @@ cache_abort_transaction(void *_cache, int32 id)
|
||||
TRACE(("cache_abort_transaction(id = %ld): restored contents of block %Ld\n",
|
||||
transaction->id, block->block_number));
|
||||
memcpy(block->data, block->original, cache->block_size);
|
||||
cache->allocator->Put(block->data);
|
||||
cache->allocator->Put(block->original);
|
||||
block->original = NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user