From 4534d86d216fc502fd3a764163e5b9d533026c56 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 Aug 2019 23:03:42 +0200 Subject: [PATCH] PVS V781: size used before it's checked memcpy with a negative parameter doesn't look like a great idea. Change-Id: I3d1a8c224bd288784f068086652a84b2b75fcea8 Reviewed-on: https://review.haiku-os.org/c/1671 Reviewed-by: waddlesplash --- src/add-ons/kernel/file_systems/btrfs/Inode.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/btrfs/Inode.cpp b/src/add-ons/kernel/file_systems/btrfs/Inode.cpp index 3473ec31d8..8faa9f007c 100644 --- a/src/add-ons/kernel/file_systems/btrfs/Inode.cpp +++ b/src/add-ons/kernel/file_systems/btrfs/Inode.cpp @@ -300,13 +300,11 @@ Inode::ReadAt(off_t pos, uint8* buffer, size_t* _length) do { ssize_t bytesRead = min_c(sizeof(in), inline_size - offset); - memcpy(in, extent_data->inline_data + offset, bytesRead); - if (bytesRead != (ssize_t)sizeof(in)) { - if (bytesRead <= 0) { - status = Z_STREAM_ERROR; - break; - } + if (bytesRead <= 0) { + status = Z_STREAM_ERROR; + break; } + memcpy(in, extent_data->inline_data + offset, bytesRead); zStream.avail_in = bytesRead; zStream.next_in = (Bytef*)in;