Fix use-after-free in hivex_close.
authorRichard W.M. Jones <rjones@redhat.com>
Tue, 12 Apr 2011 16:59:47 +0000 (17:59 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 12 Apr 2011 16:59:47 +0000 (17:59 +0100)
Found using valgrind.

lib/hivex.c

index 8a774de..860c85c 100644 (file)
@@ -534,6 +534,9 @@ hivex_close (hive_h *h)
 {
   int r;
 
+  if (h->msglvl >= 1)
+    fprintf (stderr, "hivex_close\n");
+
   free (h->bitmap);
   if (!h->writable)
     munmap (h->addr, h->size);
@@ -543,9 +546,6 @@ hivex_close (hive_h *h)
   free (h->filename);
   free (h);
 
-  if (h->msglvl >= 1)
-    fprintf (stderr, "hivex_close\n");
-
   return r;
 }