summaryrefslogtreecommitdiffstats
path: root/src/libmime
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/libmime
parent7a83d76dc12389438bbe3b0b29cc82b7740a3796 (diff)
downloadrspamd-56d73d7a1826d016a96b6ca374d43b80dce72c60.tar.gz
rspamd-56d73d7a1826d016a96b6ca374d43b80dce72c60.zip
Check type of InternetAddress.
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/expressions.c14
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