Index: src/libical/icalparameter.c =================================================================== --- src/libical/icalparameter.c (revision 1033) +++ src/libical/icalparameter.c (working copy) @@ -174,6 +174,7 @@ if(eq == 0){ icalerror_set_errno(ICAL_MALFORMEDDATA_ERROR); + free(cpy); return 0; } @@ -185,6 +186,7 @@ if(kind == ICAL_NO_PARAMETER){ icalerror_set_errno(ICAL_MALFORMEDDATA_ERROR); + free(cpy); return 0; } Index: src/libical/sspm.c =================================================================== --- src/libical/sspm.c (revision 1033) +++ src/libical/sspm.c (working copy) @@ -473,6 +473,7 @@ char *p = strchr(ltype,'/'); if (p==0){ + free(ltype); return SSPM_UNKNOWN_MINOR_TYPE; } Index: src/libical/icalcomponent.c =================================================================== --- src/libical/icalcomponent.c (revision 1033) +++ src/libical/icalcomponent.c (working copy) @@ -2266,6 +2266,7 @@ free(tzid_copy); } else { icalarray_append (tzids_to_rename, tzid_copy); + free(tzid_copy); icalarray_append (tzids_to_rename, existing_tzid_copy); } return; @@ -2301,6 +2302,8 @@ strcpy (new_tzid + tzid_len, suffix_buf); icalarray_append (tzids_to_rename, tzid_copy); icalarray_append (tzids_to_rename, new_tzid); + free(tzid_copy); + free(new_tzid); } Index: src/libical/icalmime.c =================================================================== --- src/libical/icalmime.c (revision 1033) +++ src/libical/icalmime.c (working copy) @@ -400,6 +400,7 @@ sspm_write_mime(parts,NUM_PARTS,&out,"To: bob@bob.org"); printf("%s\n",out); + free(out); return 0; Index: src/libical/icalproperty.c =================================================================== --- src/libical/icalproperty.c (revision 1033) +++ src/libical/icalproperty.c (working copy) @@ -505,8 +505,10 @@ if (value != 0){ char *str = icalvalue_as_ical_string_r(value); - icalerror_assert((str !=0),"Could not get string representation of a value"); - icalmemory_append_string(&buf, &buf_ptr, &buf_size, str); + if (str != 0) + icalmemory_append_string(&buf, &buf_ptr, &buf_size, str); + else + icalmemory_append_string(&buf, &buf_ptr, &buf_size,"ERROR: No Value"); free(str); } else { icalmemory_append_string(&buf, &buf_ptr, &buf_size,"ERROR: No Value"); Index: src/libicalss/icalmessage.c =================================================================== --- src/libicalss/icalmessage.c (revision 1033) +++ src/libicalss/icalmessage.c (working copy) @@ -43,12 +43,14 @@ static char* lowercase(const char* str) { char* p = 0; - char* n = icalmemory_strdup(str); + char* n = 0; if(str ==0){ return 0; } + n = icalmemory_strdup(str); + for(p = n; *p!=0; p++){ *p = tolower(*p); } @@ -72,6 +74,7 @@ lattendee = lowercase(icalproperty_get_attendee(p)); if (strstr(lattendee,user) != 0){ + free(lattendee); attendee = p; break; } Index: src/libicalss/icalfileset.c =================================================================== --- src/libicalss/icalfileset.c (revision 1033) +++ src/libicalss/icalfileset.c (working copy) @@ -408,6 +408,7 @@ if ( sz != strlen(str)){ perror("write"); icalerror_set_errno(ICAL_FILE_ERROR); + free(str); return ICAL_FILE_ERROR; } Index: src/libicalss/icalclassify.c =================================================================== --- src/libicalss/icalclassify.c (revision 1033) +++ src/libicalss/icalclassify.c (working copy) @@ -156,6 +156,7 @@ this_upn = strchr(this_attendee,':'); if(this_upn == 0){ + free(this_attendee); continue; } else { this_upn++;