summaryrefslogtreecommitdiffstats
path: root/src/rspamadm
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-02-22 23:39:49 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-02-22 23:39:49 +0000
commit4394fa14de48cf7000cd89d87f1b7829616ee7df (patch)
tree859f59cb1982d0cee6d78df48482872d33504d53 /src/rspamadm
parent2b0e6f4d0e0582006c172867df93121755201e66 (diff)
downloadrspamd-4394fa14de48cf7000cd89d87f1b7829616ee7df.tar.gz
rspamd-4394fa14de48cf7000cd89d87f1b7829616ee7df.zip
Fix some more issues found by coverity
Diffstat (limited to 'src/rspamadm')
-rw-r--r--src/rspamadm/configdump.c1
-rw-r--r--src/rspamadm/signtool.c6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/rspamadm/configdump.c b/src/rspamadm/configdump.c
index b48009466..e7d51b442 100644
--- a/src/rspamadm/configdump.c
+++ b/src/rspamadm/configdump.c
@@ -104,6 +104,7 @@ rspamadm_add_doc_elt (const ucl_object_t *obj, const ucl_object_t *doc_obj,
if (ucl_object_lookup_len (comment_obj, (const char *)&obj,
sizeof (void *))) {
+ rspamd_fstring_free (comment);
/* Do not rewrite the existing comment */
return;
}
diff --git a/src/rspamadm/signtool.c b/src/rspamadm/signtool.c
index 998698622..ca426de6c 100644
--- a/src/rspamadm/signtool.c
+++ b/src/rspamadm/signtool.c
@@ -136,7 +136,9 @@ rspamadm_edit_file (const gchar *fname)
rspamd_snprintf (tmppath, sizeof (tmppath),
"%s/rspamd_sign-XXXXXXXXXX", tmpdir);
+ mode_t cur_umask = umask (S_IRWXO|S_IRWXG);
fd_out = mkstemp (tmppath);
+ (void)umask (cur_umask);
if (fd_out == -1) {
rspamd_fprintf (stderr, "cannot open tempfile %s: %s\n", tmppath,
@@ -213,7 +215,6 @@ rspamadm_edit_file (const gchar *fname)
rspamd_fprintf (stderr, "cannot map %s: %s\n", tmppath,
strerror (errno));
unlink (tmppath);
- close (fd_out);
exit (errno);
}
@@ -225,6 +226,7 @@ rspamadm_edit_file (const gchar *fname)
rspamd_fprintf (stderr, "cannot open new file %s: %s\n", run_cmdline,
strerror (errno));
unlink (tmppath);
+ munmap (map, len);
exit (errno);
}
@@ -234,11 +236,13 @@ rspamadm_edit_file (const gchar *fname)
unlink (tmppath);
unlink (run_cmdline);
close (fd_out);
+ munmap (map, len);
exit (errno);
}
unlink (tmppath);
(void)lseek (fd_out, 0, SEEK_SET);
+ munmap (map, len);
return fd_out;
}