@@ -3693,15 +3693,24 @@ static int mailbox_update_carddav(struct mailbox *mailbox,
3693
3693
#ifdef HAVE_LIBICALVCARD
3694
3694
vcardcomponent * vcard = record_to_vcard_x (mailbox , new );
3695
3695
3696
+ if (!vcard ) {
3697
+ xsyslog (LOG_ERR , "record_to_vcard_x() failed" ,
3698
+ "record=<%u> mailbox=<%s>" ,
3699
+ cdata -> dav .imap_uid , mailbox_name (mailbox ));
3700
+ r = IMAP_MAILBOX_BADFORMAT ; // XXX better error?
3701
+ goto done ;
3702
+ }
3703
+
3696
3704
r = carddav_writecard_x (carddavdb , cdata , vcard , ispinned );
3697
3705
3698
3706
vcardcomponent_free (vcard );
3699
3707
#else
3700
3708
struct vparse_card * vcard = record_to_vcard (mailbox , new );
3701
3709
3702
3710
if (!vcard || !vcard -> objects ) {
3703
- syslog (LOG_ERR , "record_to_vcard failed for record %u:%s" ,
3704
- cdata -> dav .imap_uid , mailbox_name (mailbox ));
3711
+ xsyslog (LOG_ERR , "record_to_vcard() failed" ,
3712
+ "record=<%u> mailbox=<%s>" ,
3713
+ cdata -> dav .imap_uid , mailbox_name (mailbox ));
3705
3714
r = IMAP_MAILBOX_BADFORMAT ; // XXX better error?
3706
3715
vparse_free_card (vcard );
3707
3716
goto done ;
@@ -3710,7 +3719,7 @@ static int mailbox_update_carddav(struct mailbox *mailbox,
3710
3719
r = carddav_writecard (carddavdb , cdata , vcard -> objects , ispinned );
3711
3720
3712
3721
vparse_free_card (vcard );
3713
- #endif
3722
+ #endif /* HAVE_LIBICALVCARD */
3714
3723
}
3715
3724
3716
3725
done :
0 commit comments