aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil/util.c
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/libutil/util.c
parent2b0e6f4d0e0582006c172867df93121755201e66 (diff)
downloadrspamd-4394fa14de48cf7000cd89d87f1b7829616ee7df.tar.gz
rspamd-4394fa14de48cf7000cd89d87f1b7829616ee7df.zip
Fix some more issues found by coverity
Diffstat (limited to 'src/libutil/util.c')
-rw-r--r--src/libutil/util.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/libutil/util.c b/src/libutil/util.c
index 1d5f49a61..b0376ca1e 100644
--- a/src/libutil/util.c
+++ b/src/libutil/util.c
@@ -163,6 +163,7 @@ rspamd_inet_socket_create (gint type, struct addrinfo *addr, gboolean is_server,
{
gint fd = -1, r, optlen, on = 1, s_error;
struct addrinfo *cur;
+ gpointer ptr;
cur = addr;
while (cur) {
@@ -238,7 +239,8 @@ rspamd_inet_socket_create (gint type, struct addrinfo *addr, gboolean is_server,
break;
}
else if (fd != -1) {
- *list = g_list_prepend (*list, GINT_TO_POINTER (fd));
+ ptr = GINT_TO_POINTER (fd);
+ *list = g_list_prepend (*list, ptr);
cur = cur->ai_next;
continue;
}
@@ -249,6 +251,7 @@ out:
fd = -1;
cur = cur->ai_next;
}
+
return (fd);
}
@@ -475,6 +478,7 @@ rspamd_sockets_list (const gchar *credits, guint16 port,
gint r, fd = -1, serrno;
gchar portbuf[8], **strv, **cur;
GList *result = NULL, *rcur;
+ gpointer ptr;
strv = g_strsplit_set (credits, ",", -1);
if (strv == NULL) {
@@ -510,7 +514,8 @@ rspamd_sockets_list (const gchar *credits, guint16 port,
}
}
if (fd != -1) {
- result = g_list_prepend (result, GINT_TO_POINTER (fd));
+ ptr = GINT_TO_POINTER (fd);
+ result = g_list_prepend (result, ptr);
fd = -1;
}
else {
@@ -564,12 +569,16 @@ err:
serrno = errno;
rcur = result;
while (rcur != NULL) {
- fd = GPOINTER_TO_INT (rcur->data);
+ ptr = rcur->data;
+ fd = GPOINTER_TO_INT (ptr);
+
if (fd != -1) {
close (fd);
}
+
rcur = g_list_next (rcur);
}
+
if (result != NULL) {
g_list_free (result);
}