diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-04-15 16:48:56 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-04-15 16:48:56 +0100 |
commit | c4afeadd05ba7b8d21dbe469f424594b62949f00 (patch) | |
tree | 45b63eea44ce94a138916b2cd32794eb8b42af47 /src/libmime | |
parent | 0a62165a298ea6ebba72b0be2faf1388d2452912 (diff) | |
download | rspamd-c4afeadd05ba7b8d21dbe469f424594b62949f00.tar.gz rspamd-c4afeadd05ba7b8d21dbe469f424594b62949f00.zip |
[Fix] Fix processing of empty headers
Diffstat (limited to 'src/libmime')
-rw-r--r-- | src/libmime/message.c | 13 |
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; |