diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-10-01 12:04:33 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-10-01 12:04:33 +0100 |
commit | 56d73d7a1826d016a96b6ca374d43b80dce72c60 (patch) | |
tree | 01246e36eb6d5a2901588f8f99cf647fe504fadc /src/libmime | |
parent | 7a83d76dc12389438bbe3b0b29cc82b7740a3796 (diff) | |
download | rspamd-56d73d7a1826d016a96b6ca374d43b80dce72c60.tar.gz rspamd-56d73d7a1826d016a96b6ca374d43b80dce72c60.zip |
Check type of InternetAddress.
Diffstat (limited to 'src/libmime')
-rw-r--r-- | src/libmime/expressions.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/libmime/expressions.c b/src/libmime/expressions.c index c6c7d7ddf..154649b51 100644 --- a/src/libmime/expressions.c +++ b/src/libmime/expressions.c @@ -1273,10 +1273,16 @@ rspamd_recipients_distance (struct rspamd_task *task, GList * args, #ifdef GMIME24 for (i = 0; i < num; i++) { addr = internet_address_list_get_address (cur, i); - ar[i].name = internet_address_mailbox_get_addr ( - INTERNET_ADDRESS_MAILBOX (addr)); - if (ar[i].name != NULL && (c = strchr (ar[i].name, '@')) != NULL) { - ar[i].addr = c + 1; + InternetAddress *iaelt = + internet_address_list_get_address(cur, i); + InternetAddressMailbox *iamb = + INTERNET_ADDRESS_IS_MAILBOX(iaelt) ? + INTERNET_ADDRESS_MAILBOX (iaelt) : NULL; + if (iamb) { + ar[i].name = internet_address_mailbox_get_addr (iamb); + if (ar[i].name != NULL && (c = strchr (ar[i].name, '@')) != NULL) { + ar[i].addr = c + 1; + } } } #else |