hammer1 - Fix left-over /va/run/hammer.cleanup files
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 17 Dec 2018 21:46:11 +0000 (13:46 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 17 Dec 2018 21:46:11 +0000 (13:46 -0800)
* Fix an incorrect API call by hammer1 to the pidfile_*() functions
  in libutil.  This caused hammer1 to leave its lock files sitting in
  /var/run due to a use-after-free that reared its ugly head after
  the version update.

Reported-by: JustinS
sbin/hammer/cmd_cleanup.c

index 87b1585..d5f993e 100644 (file)
@@ -535,10 +535,12 @@ do_cleanup(const char *path)
 
        /*
         * Cleanup, and delay a little
+        *
+        * NOTE: pidfile_remove() closes, removes, and frees the pfh.
+        *       pidfile_close() closes and frees.
         */
        close(fd);
        usleep(1000);
-       pidfile_close(pfh);
        pidfile_remove(pfh);
 }