Skip to content

Commit 20ce08a

Browse files
author
Laszlo Meszaros
committed
ZMQ: fixed some memory leaks in the source
1 parent 053b6ee commit 20ce08a

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

modules/zmq/zmq-source.c

+16-4
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,16 @@ create_zmq_context(ZMQSourceDriver* self)
9797
return FALSE;
9898
}
9999

100-
if (zmq_bind(self->socket, get_address(self)) != 0)
100+
gchar* address = get_address(self);
101+
102+
if (zmq_bind(self->socket, address) != 0)
101103
{
102-
msg_error("Failed to bind!", evt_tag_str("Bind address", get_address(self)), evt_tag_errno("Error", errno),NULL);
104+
msg_error("Failed to bind!", evt_tag_str("Bind address", address), evt_tag_errno("Error", errno),NULL);
105+
g_free(address);
103106
return FALSE;
104107
}
105108

109+
g_free(address);
106110
return TRUE;
107111
}
108112

@@ -126,7 +130,11 @@ zmq_sd_init(LogPipe *s)
126130
return FALSE;
127131
}
128132

129-
ZMQReaderContext* reader_context = cfg_persist_config_fetch(cfg, get_persist_name(self));
133+
gchar* persist_name = get_persist_name(self);
134+
135+
ZMQReaderContext* reader_context = cfg_persist_config_fetch(cfg, persist_name);
136+
137+
g_free(persist_name);
130138

131139
log_reader_options_init(&self->reader_options, cfg, "zmq");
132140

@@ -188,7 +196,11 @@ zmq_sd_deinit(LogPipe *s)
188196
self->context = NULL;
189197
self->reader = NULL;
190198

191-
cfg_persist_config_add(cfg, get_persist_name(self), reader_context, (GDestroyNotify) zmq_socket_deinit, FALSE);
199+
gchar* persist_name = get_persist_name(self);
200+
201+
cfg_persist_config_add(cfg, persist_name, reader_context, (GDestroyNotify) zmq_socket_deinit, FALSE);
202+
203+
g_free(persist_name);
192204

193205
return log_src_driver_deinit_method(s);
194206
}

0 commit comments

Comments
 (0)