[haiku-commits] haiku: hrev53330 - src/add-ons/kernel/file_systems/btrfs

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 2 Aug 2019 20:40:25 -0400 (EDT)

hrev53330 adds 1 changeset to branch 'master'
old head: 5e7114c1e43f2b1b9e918ba1be896750ab7fc9ec
new head: 4534d86d216fc502fd3a764163e5b9d533026c56
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=4534d86d216f+%5E5e7114c1e43f

----------------------------------------------------------------------------

4534d86d216f: 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 <waddlesplash@xxxxxxxxx>

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev53330
Commit:      4534d86d216fc502fd3a764163e5b9d533026c56
URL:         https://git.haiku-os.org/haiku/commit/?id=4534d86d216f
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Thu Aug  1 21:03:42 2019 UTC
Committer:   waddlesplash <waddlesplash@xxxxxxxxx>
Commit-Date: Sat Aug  3 00:40:22 2019 UTC

----------------------------------------------------------------------------

1 file changed, 4 insertions(+), 6 deletions(-)
src/add-ons/kernel/file_systems/btrfs/Inode.cpp | 10 ++++------

----------------------------------------------------------------------------

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;


Other related posts:

  • » [haiku-commits] haiku: hrev53330 - src/add-ons/kernel/file_systems/btrfs - waddlesplash