Browse Source

[Fix] Fix memory leak in HTTP maps

Issue: #1332
tags/1.5.0
Vsevolod Stakhov 7 years ago
parent
commit
944588e26a
2 changed files with 9 additions and 4 deletions
  1. 6
    3
      src/libutil/map.c
  2. 3
    1
      src/libutil/ssl_util.c

+ 6
- 3
src/libutil/map.c View File

@@ -97,7 +97,8 @@ write_http_request (struct http_callback_data *cbd)
}

if (cbd->stage == map_load_file) {
msg->url = rspamd_fstring_new_init (cbd->data->path, strlen (cbd->data->path));
msg->url = rspamd_fstring_append (msg->url,
cbd->data->path, strlen (cbd->data->path));

if (cbd->check &&
cbd->data->last_checked != 0 && cbd->stage == map_load_file) {
@@ -107,11 +108,13 @@ write_http_request (struct http_callback_data *cbd)
}
}
else if (cbd->stage == map_load_pubkey) {
msg->url = rspamd_fstring_new_init (cbd->data->path, strlen (cbd->data->path));
msg->url = rspamd_fstring_append (msg->url,
cbd->data->path, strlen (cbd->data->path));
msg->url = rspamd_fstring_append (msg->url, ".pub", 4);
}
else if (cbd->stage == map_load_signature) {
msg->url = rspamd_fstring_new_init (cbd->data->path, strlen (cbd->data->path));
msg->url = rspamd_fstring_append (msg->url,
cbd->data->path, strlen (cbd->data->path));
msg->url = rspamd_fstring_append (msg->url, ".sig", 4);
}
else {

+ 3
- 1
src/libutil/ssl_util.c View File

@@ -16,6 +16,7 @@

#include "config.h"
#include "libutil/util.h"
#include "libutil/logger.h"
#include "ssl_util.h"

#include <openssl/ssl.h>
@@ -362,7 +363,7 @@ rspamd_ssl_event_handler (gint fd, short what, gpointer ud)
c->handler (fd, EV_WRITE, c->handler_data);
}
else {
g_assert (0);
return;
}
}
else {
@@ -700,6 +701,7 @@ void
rspamd_ssl_connection_free (struct rspamd_ssl_connection *conn)
{
if (conn) {
SSL_shutdown (conn->ssl);
SSL_free (conn->ssl);

if (conn->hostname) {

Loading…
Cancel
Save