[Libguestfs] [PATCH] diff: avoid potential null pointer dereference on error

Pino Toscano ptoscano at redhat.com
Fri Nov 3 16:19:22 UTC 2017


If visit_guest() fails, then it returns a null pointer; later on,
free_tree() is called unconditionally on the variables, thus
dereferencing null pointers.

Thus guard the free_tree() invocations.
---
 diff/diff.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/diff/diff.c b/diff/diff.c
index 5851a1c9c..1f1ab6933 100644
--- a/diff/diff.c
+++ b/diff/diff.c
@@ -389,8 +389,10 @@ main (int argc, char *argv[])
       errors++;
   }
 
-  free_tree (tree1);
-  free_tree (tree2);
+  if (tree1)
+    free_tree (tree1);
+  if (tree2)
+    free_tree (tree2);
 
   free_drives (drvs);
   free_drives (drvs2);
-- 
2.13.6




More information about the Libguestfs mailing list