summaryrefslogtreecommitdiff
path: root/src/libicalss/icalspanlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libicalss/icalspanlist.c')
-rw-r--r--src/libicalss/icalspanlist.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libicalss/icalspanlist.c b/src/libicalss/icalspanlist.c
index 3ea73ca..456abb1 100644
--- a/src/libicalss/icalspanlist.c
+++ b/src/libicalss/icalspanlist.c
@@ -175,6 +175,7 @@ icalspanlist* icalspanlist_new(icalset *set,
if ((freetime=(struct icaltime_span *)
malloc(sizeof(struct icaltime_span))) == 0){
icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+ icalspanlist_free(sl);
return 0;
}
@@ -207,6 +208,7 @@ icalspanlist* icalspanlist_new(icalset *set,
if ((freetime=(struct icaltime_span *)
malloc(sizeof(struct icaltime_span))) == 0){
icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+ icalspanlist_free(sl);
return 0;
}
@@ -541,6 +543,7 @@ icalspanlist *icalspanlist_from_vfreebusy(icalcomponent* comp)
if (s == 0) {
icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+ icalspanlist_free(sl);
return 0;
}
@@ -552,6 +555,7 @@ icalspanlist *icalspanlist_from_vfreebusy(icalcomponent* comp)
case ICAL_FBTYPE_NONE:
case ICAL_FBTYPE_X:
s->is_busy = 1;
+ break;
default:
s->is_busy = 0;
}