X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Fevent.c;h=a7107bde7b072e78817da8009c1a3adc5897502a;hp=1d73540775ab6b42faa4ff502b1d7af3dcbc75a7;hb=7e6ecf64e51b1b9377e701c7380a038360e1ac8c;hpb=3cf8f98eba7f2d493fcab2f416456f0582b3ff69 diff --git a/webcit/event.c b/webcit/event.c index 1d7354077..a7107bde7 100644 --- a/webcit/event.c +++ b/webcit/event.c @@ -65,7 +65,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, int which_rrend_is_preselected; int which_rryeartype_is_preselected; - + const char *ch; char *tabnames[3]; const char *frequency_units[8]; const char *ordinals[6]; @@ -463,11 +463,11 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { - strcpy(attendee_string, icalproperty_get_attendee(attendee)); - if (!strncasecmp(attendee_string, "mailto:", 7)) { + ch = icalproperty_get_attendee(attendee); + if ((ch != NULL) && !strncasecmp(ch, "mailto:", 7)) { /* screen name or email address */ - strcpy(attendee_string, &attendee_string[7]); + safestrncpy(attendee_string, ch + 7, sizeof(attendee_string)); striplt(attendee_string); if (i++) wc_printf("\n"); escputs(attendee_string); @@ -805,6 +805,7 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr char organizer_string[SIZ]; int sequence = 0; enum icalproperty_transp formtransp = ICAL_TRANSP_NONE; + const char *ch; if (supplied_vevent != NULL) { vevent = supplied_vevent; @@ -1099,15 +1100,15 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr foundit = 0; for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { - if (!strcasecmp(attendee_string, - icalproperty_get_attendee(attendee))) + ch = icalproperty_get_attendee(attendee); + if ((ch != NULL) && !strcasecmp(attendee_string, ch)) ++foundit; } if (foundit == 0) { icalcomponent_add_property(vevent, - icalproperty_new_attendee(attendee_string) + icalproperty_new_attendee(attendee_string) ); } } @@ -1117,9 +1118,9 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr * Remove any attendees *not* listed in the web form */ STARTOVER: for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { - strcpy(attendee_string, icalproperty_get_attendee(attendee)); - if (!strncasecmp(attendee_string, "MAILTO:", 7)) { - strcpy(attendee_string, &attendee_string[7]); + ch = icalproperty_get_attendee(attendee); + if ((ch != NULL) && !strncasecmp(ch, "MAILTO:", 7)) { + safestrncpy(attendee_string, ch + 7, sizeof(attendee_string)); striplt(attendee_string); foundit = 0; for (i=0; i