aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-10-01 12:04:33 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-10-01 12:04:33 +0100
commit56d73d7a1826d016a96b6ca374d43b80dce72c60 (patch)
tree01246e36eb6d5a2901588f8f99cf647fe504fadc /src/libserver
parent7a83d76dc12389438bbe3b0b29cc82b7740a3796 (diff)
downloadrspamd-56d73d7a1826d016a96b6ca374d43b80dce72c60.tar.gz
rspamd-56d73d7a1826d016a96b6ca374d43b80dce72c60.zip
Check type of InternetAddress.
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/task.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/libserver/task.c b/src/libserver/task.c
index 5eaa620fc..2cec9cb3a 100644
--- a/src/libserver/task.c
+++ b/src/libserver/task.c
@@ -350,16 +350,18 @@ rspamd_task_process (struct rspamd_task *task,
const gchar *
rspamd_task_get_sender (struct rspamd_task *task)
{
- InternetAddressMailbox *imb = NULL;
+ InternetAddressMailbox *imb;
+ InternetAddress *iaelt = NULL;
+
if (task->from_envelope != NULL) {
- imb = INTERNET_ADDRESS_MAILBOX(internet_address_list_get_address (
- task->from_envelope, 0));
+ iaelt = internet_address_list_get_address (task->from_envelope, 0);
}
else if (task->from_mime != NULL) {
- imb = INTERNET_ADDRESS_MAILBOX(internet_address_list_get_address (
- task->from_mime, 0));
+ iaelt = internet_address_list_get_address (task->from_mime, 0);
}
+ imb = INTERNET_ADDRESS_IS_MAILBOX(iaelt) ?
+ INTERNET_ADDRESS_MAILBOX (iaelt) : NULL;
- return internet_address_mailbox_get_addr (imb);
+ return (imb ? internet_address_mailbox_get_addr (imb) : NULL);
}