From: Florian Forster Date: Tue, 8 Dec 2015 10:56:09 +0000 (+0100) Subject: email plugin: Free "connection" in error handling. X-Git-Tag: collectd-5.5.1~13^2~14 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=77425c1a1afd89f17171281665ccbf0172b3da42;hp=ac7b4bd56283ba970c15fadaff15a4dad96fbf69;p=collectd.git email plugin: Free "connection" in error handling. CID: 38010 --- diff --git a/src/email.c b/src/email.c index fdcf0677..7493cc6d 100644 --- a/src/email.c +++ b/src/email.c @@ -520,13 +520,20 @@ static void *open_connection (void __attribute__((unused)) *arg) } } while (EINTR == errno); - connection = (conn_t *)smalloc (sizeof (conn_t)); + connection = malloc (sizeof (*connection)); + if (connection != NULL) + { + close (remote); + continue; + } + memset (connection, 0, sizeof (*connection)); connection->socket = fdopen (remote, "r"); connection->next = NULL; if (NULL == connection->socket) { close (remote); + sfree (connection); continue; }