[Top][All Lists]

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

Re: [PATCH v2 09/18] qga: Fix guest-get-fsinfo error API violations

From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v2 09/18] qga: Fix guest-get-fsinfo error API violations
Date: Wed, 4 Dec 2019 15:57:23 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 12/4/19 10:36 AM, Markus Armbruster wrote:
build_guest_fsinfo_for_virtual_device() dereferences @errp when
build_guest_fsinfo_for_device() fails.  That's wrong; see the big
comment in error.h.  Introduced in commit 46d4c5723e "qga: Add
guest-get-fsinfo command".

No caller actually passes null.

Fix anyway: splice in a local Error *err, and error_propagate().

Cc: Michael Roth <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
  qga/commands-posix.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 1c1a165dae..0be527ccb8 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -1049,6 +1049,7 @@ static void build_guest_fsinfo_for_virtual_device(char 
const *syspath,
                                                    GuestFilesystemInfo *fs,
                                                    Error **errp)
+    Error *err = NULL;
      DIR *dir;
      char *dirpath;
      struct dirent *entry;
@@ -1078,10 +1079,11 @@ static void build_guest_fsinfo_for_virtual_device(char 
const *syspath,
g_debug(" slave device '%s'", entry->d_name);
              path = g_strdup_printf("%s/slaves/%s", syspath, entry->d_name);
-            build_guest_fsinfo_for_device(path, fs, errp);
+            build_guest_fsinfo_for_device(path, fs, &err);
- if (*errp) {
+            if (err) {
+                error_propagate(errp, err);

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

reply via email to

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