summaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-04-15 16:48:56 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-04-15 16:48:56 +0100
commitc4afeadd05ba7b8d21dbe469f424594b62949f00 (patch)
tree45b63eea44ce94a138916b2cd32794eb8b42af47 /src/libmime
parent0a62165a298ea6ebba72b0be2faf1388d2452912 (diff)
downloadrspamd-c4afeadd05ba7b8d21dbe469f424594b62949f00.tar.gz
rspamd-c4afeadd05ba7b8d21dbe469f424594b62949f00.zip
[Fix] Fix processing of empty headers
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/message.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libmime/message.c b/src/libmime/message.c
index 302717c9d..a28e883a0 100644
--- a/src/libmime/message.c
+++ b/src/libmime/message.c
@@ -545,15 +545,22 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target,
new->value = tmp;
new->decoded = g_mime_utils_header_decode_text (new->value);
- rspamd_mempool_add_destructor (task->task_pool,
- (rspamd_mempool_destruct_t)g_free, new->decoded);
+
+ if (new->decoded != NULL) {
+ rspamd_mempool_add_destructor (task->task_pool,
+ (rspamd_mempool_destruct_t)g_free, new->decoded);
+ }
+ else {
+ new->decoded = "";
+ }
+
append_raw_header (task, target, new);
state = 0;
break;
case 5:
/* Header has only name, no value */
new->value = "";
- new->decoded = NULL;
+ new->decoded = "";
append_raw_header (task, target, new);
state = 0;
break;