diff options
author | Hans Petter Jansson <hpj@ximian.com> | 2004-02-02 21:23:09 +0000 |
---|---|---|
committer | Hans Petter <hansp@src.gnome.org> | 2004-02-02 21:23:09 +0000 |
commit | 5df8691aad188fdf540f10ad1de97d6c9b716bfe (patch) | |
tree | 396b6788b240967c9ae15674d9c0e56089559a9b | |
parent | 0ec499cb8945ef9983112b3d9822b2d0cff6df8f (diff) | |
download | evolution-data-server-5df8691aad188fdf540f10ad1de97d6c9b716bfe.tar.gz |
Return NULL if image length is zero. (photo_setter): Warn and don't set
2004-02-02 Hans Petter Jansson <hpj@ximian.com>
* libebook/e-contact.c (photo_getter): Return NULL if image length is
zero.
(photo_setter): Warn and don't set photo if image length is zero.
-rw-r--r-- | addressbook/ChangeLog | 6 | ||||
-rw-r--r-- | addressbook/libebook/e-contact.c | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 18a2a1360..6e3dbf7ba 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,5 +1,11 @@ 2004-02-02 Hans Petter Jansson <hpj@ximian.com> + * libebook/e-contact.c (photo_getter): Return NULL if image length is + zero. + (photo_setter): Warn and don't set photo if image length is zero. + +2004-02-02 Hans Petter Jansson <hpj@ximian.com> + * libebook/e-contact.c (photo_setter): Handle NULL. (fn_setter): Handle NULL. (n_setter): Handle NULL. diff --git a/addressbook/libebook/e-contact.c b/addressbook/libebook/e-contact.c index 19c05d0f4..a30a6b44c 100644 --- a/addressbook/libebook/e-contact.c +++ b/addressbook/libebook/e-contact.c @@ -361,8 +361,12 @@ photo_getter (EContact *contact, EVCardAttribute *attr) if (values && values->data) { GString *s = values->data; - EContactPhoto *photo = g_new (EContactPhoto, 1); + EContactPhoto *photo; + if (!s->len) + return NULL; + + photo = g_new (EContactPhoto, 1); photo->length = s->len; photo->data = g_malloc (photo->length); memcpy (photo->data, s->str, photo->length); @@ -384,6 +388,8 @@ photo_setter (EContact *contact, EVCardAttribute *attr, void *data) if (!photo) return; + g_return_if_fail (photo->length > 0); + e_vcard_attribute_add_param_with_value (attr, e_vcard_attribute_param_new (EVC_ENCODING), "b"); |