summaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
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;