diff --git a/src/add-ons/kernel/file_systems/btrfs/Chunk.cpp b/src/add-ons/kernel/file_systems/btrfs/Chunk.cpp index 95d82a4b5b..ee08cbdc08 100644 --- a/src/add-ons/kernel/file_systems/btrfs/Chunk.cpp +++ b/src/add-ons/kernel/file_systems/btrfs/Chunk.cpp @@ -30,8 +30,11 @@ Chunk::Chunk(struct btrfs_chunk* chunk, fsblock_t offset) fChunkOffset = offset; fChunk = (struct btrfs_chunk*)malloc(sizeof(struct btrfs_chunk) + chunk->StripeCount() * sizeof(struct btrfs_stripe)); - if (fChunk == NULL) + if (fChunk == NULL) { fInitStatus = B_NO_MEMORY; + return; + } + memcpy(fChunk, chunk, sizeof(struct btrfs_chunk) + chunk->StripeCount() * sizeof(struct btrfs_stripe));