From b17c0276de4da4cd75114d7e1c67738f894ad59e Mon Sep 17 00:00:00 2001 From: TingPing Date: Wed, 12 Feb 2014 10:28:53 -0500 Subject: Fix some leaks --- plugins/perl/perl.c | 1 + src/common/cfgfiles.c | 3 +++ src/common/dcc.c | 3 +++ src/common/text.c | 3 +++ src/common/util.c | 3 +++ src/fe-gtk/menu.c | 3 +++ 6 files changed, 16 insertions(+) diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c index 76722f7f..7ba38968 100644 --- a/plugins/perl/perl.c +++ b/plugins/perl/perl.c @@ -756,6 +756,7 @@ XS (XS_HexChat_send_modes) } if (target_count == 0) { + free (targets); XSRETURN_EMPTY; } diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index 47cc9677..59761bc5 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -1029,6 +1029,7 @@ save_config (void) if (!cfg_put_str (fh, "version", PACKAGE_VERSION)) { + close (fh); g_free (new_config); return 0; } @@ -1041,6 +1042,7 @@ save_config (void) case TYPE_STR: if (!cfg_put_str (fh, vars[i].name, (char *) &prefs + vars[i].offset)) { + close (fh); g_free (new_config); return 0; } @@ -1049,6 +1051,7 @@ save_config (void) case TYPE_BOOL: if (!cfg_put_int (fh, *((int *) &prefs + vars[i].offset), vars[i].name)) { + close (fh); g_free (new_config); return 0; } diff --git a/src/common/dcc.c b/src/common/dcc.c index ca1be140..169a0f76 100644 --- a/src/common/dcc.c +++ b/src/common/dcc.c @@ -1805,7 +1805,10 @@ dcc_send (struct session *sess, char *to, char *file, int maxcps, int passive) dcc = new_dcc (); if (!dcc) + { + free (file); return; + } dcc->file = file; dcc->maxcps = maxcps; diff --git a/src/common/text.c b/src/common/text.c index 1afb0c18..a01fc2c8 100644 --- a/src/common/text.c +++ b/src/common/text.c @@ -1659,7 +1659,10 @@ pevent_load (char *filename) if (fd == -1) return 1; if (fstat (fd, &st) != 0) + { + close (fd); return 1; + } ibuf = malloc (st.st_size); read (fd, ibuf, st.st_size); close (fd); diff --git a/src/common/util.c b/src/common/util.c index 32082fe1..dec9d4df 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -1404,7 +1404,10 @@ util_exec (const char *cmd) #ifndef WIN32 pid = fork (); if (pid == -1) + { + free (argv); return -1; + } if (pid == 0) { /* Now close all open file descriptors except stdin, stdout and stderr */ diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c index c8e5182c..d0c4e95b 100644 --- a/src/fe-gtk/menu.c +++ b/src/fe-gtk/menu.c @@ -176,6 +176,9 @@ userlist_button_cb (GtkWidget * button, char *cmd) if (num_sel < 1) { nick_command_parse (sess, cmd, "", ""); + + if (nicks) + free (nicks); return; } } -- cgit 1.4.1