diff options
author | Radoslaw Jablonski <radoslawjablonski@gmail.com> | 2011-10-10 09:22:39 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2011-10-11 16:28:38 +0300 |
commit | ae23252d8b5794402a3a345d1624b6bbca277397 (patch) | |
tree | f3b5189b33c4898821892c5c409361aa483720ed | |
parent | e71edda664ae02afb5f18461cb426ebde4c8c1cc (diff) | |
download | obexd-ae23252d8b5794402a3a345d1624b6bbca277397.tar.gz |
Add NULL-field checking in vcard_printf_address
Without that checking strlen(..) could be called with NULL
as param and this will result crash (in some scenarios
'field' may be NULL)
-rw-r--r-- | plugins/vcard.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/vcard.c b/plugins/vcard.c index c0a33cb..dc20a77 100644 --- a/plugins/vcard.c +++ b/plugins/vcard.c @@ -680,8 +680,11 @@ static void vcard_printf_address(GString *vcards, uint8_t format, for (l = address->fields; l; l = l->next) { char *field = l->data; - set_escape(format, field_esc, field, LEN_MAX, strlen(field)); - g_strlcat(fields, field_esc, len); + if (field) { + set_escape(format, field_esc, field, LEN_MAX, + strlen(field)); + g_strlcat(fields, field_esc, len); + } if (l->next) /* not adding ';' after last addr field */ |