grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SECURITY PATCH 094/117] fs/btrfs: Squash some uninitialized reads


From: Daniel Kiper
Subject: [SECURITY PATCH 094/117] fs/btrfs: Squash some uninitialized reads
Date: Tue, 2 Mar 2021 19:01:41 +0100

From: Daniel Axtens <dja@axtens.net>

We need to check errors before calling into a function that uses the result.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
 grub-core/fs/btrfs.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
index c4ba5f110..63203034d 100644
--- a/grub-core/fs/btrfs.c
+++ b/grub-core/fs/btrfs.c
@@ -383,9 +383,9 @@ next (struct grub_btrfs_data *data,
 
       err = grub_btrfs_read_logical (data, grub_le_to_cpu64 (node.addr),
                                     &head, sizeof (head), 0);
+      if (err)
+       return -err;
       check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr));
-      if (err)
-       return -err;
 
       save_ref (desc, grub_le_to_cpu64 (node.addr), 0,
                grub_le_to_cpu32 (head.nitems), !head.level);
@@ -445,9 +445,9 @@ lower_bound (struct grub_btrfs_data *data,
       /* FIXME: preread few nodes into buffer. */
       err = grub_btrfs_read_logical (data, addr, &head, sizeof (head),
                                     recursion_depth + 1);
+      if (err)
+       return err;
       check_btrfs_header (data, &head, addr);
-      if (err)
-       return err;
       addr += sizeof (head);
       if (head.level)
        {
-- 
2.11.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]