Fix memory leaks in error paths.
[cascardo/ovs.git] / ovsdb / ovsdb-tool.c
index 077e7f5..e2a30ea 100644 (file)
@@ -27,6 +27,7 @@
 #include "compiler.h"
 #include "dirs.h"
 #include "dynamic-string.h"
+#include "fatal-signal.h"
 #include "file.h"
 #include "lockfile.h"
 #include "log.h"
@@ -40,8 +41,6 @@
 #include "util.h"
 #include "vlog.h"
 
-VLOG_DEFINE_THIS_MODULE(ovsdb_tool);
-
 /* -m, --more: Verbosity level for "show-log" command output. */
 static int show_log_verbosity;
 
@@ -58,7 +57,7 @@ main(int argc, char *argv[])
 {
     set_program_name(argv[0]);
     parse_options(argc, argv);
-    signal(SIGPIPE, SIG_IGN);
+    fatal_ignore_sigpipe();
     run_command(argc - optind, argv + optind, get_all_commands());
     return 0;
 }
@@ -250,6 +249,9 @@ compact_or_convert(const char *src_name_, const char *dst_name_,
 
     /* Replace source. */
     if (in_place) {
+#ifdef _WIN32
+        unlink(src_name);
+#endif
         if (rename(dst_name, src_name)) {
             ovs_fatal(errno, "failed to rename \"%s\" to \"%s\"",
                       dst_name, src_name);
@@ -526,7 +528,7 @@ do_show_log(int argc, char *argv[])
                     t *= 1000;
                 }
 
-               s = xastrftime_msec(" %Y-%m-%d %H:%M:%S.###", t, true);
+                s = xastrftime_msec(" %Y-%m-%d %H:%M:%S.###", t, true);
                 fputs(s, stdout);
                 free(s);
             }