Coverity: Ensure fp is closed along all error paths.
[libguestfs.git] / daemon / inotify.c
index 807fb2f..c8862e5 100644 (file)
@@ -70,7 +70,7 @@ do_inotify_init (int max_events)
 #ifdef HAVE_SYS_INOTIFY_H
   FILE *fp;
 
-  NEED_ROOT (0, return -1);
+  NEED_ROOT (, return -1);
 
   if (max_events < 0) {
     reply_with_error ("max_events < 0");
@@ -314,7 +314,7 @@ do_inotify_files (void)
   char **ret = NULL;
   int size = 0, alloc = 0;
   unsigned int i;
-  FILE *fp;
+  FILE *fp = NULL;
   guestfs_int_inotify_event_list *events;
   char buf[PATH_MAX];
 
@@ -361,13 +361,12 @@ do_inotify_files (void)
     if (len > 0 && buf[len-1] == '\n')
       buf[len-1] = '\0';
 
-    if (add_string (&ret, &size, &alloc, buf) == -1) {
-      fclose (fp);
+    if (add_string (&ret, &size, &alloc, buf) == -1)
       goto error;
-    }
   }
 
   fclose (fp);
+  fp = NULL;
 
   if (add_string (&ret, &size, &alloc, NULL) == -1)
     goto error;
@@ -376,6 +375,9 @@ do_inotify_files (void)
   return ret;
 
  error:
+  if (fp != NULL)
+    fclose (fp);
+
   unlink ("/tmp/inotify");
   return NULL;
 #else