diff options
Diffstat (limited to 'libical/src')
-rw-r--r-- | libical/src/libical/icallangbind.c | 1 | ||||
-rw-r--r-- | libical/src/libical/icalrecur.c | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libical/src/libical/icallangbind.c b/libical/src/libical/icallangbind.c index 56376bf5a2..d52f491b93 100644 --- a/libical/src/libical/icallangbind.c +++ b/libical/src/libical/icallangbind.c @@ -19,6 +19,7 @@ ======================================================================*/ #include "ical.h" +#include <malloc.h> diff --git a/libical/src/libical/icalrecur.c b/libical/src/libical/icalrecur.c index db3f7aefff..d5c73e80dd 100644 --- a/libical/src/libical/icalrecur.c +++ b/libical/src/libical/icalrecur.c @@ -277,9 +277,12 @@ void icalrecur_add_bydayrules(struct icalrecur_parser *parser, const char* vals) icalrecurrencetype_weekday wd; short *array = parser->rt.by_day; char* end; + char* vals_copy; - end = (char*)vals+strlen(vals); - n = vals; + vals_copy = strdup(vals); + + end = (char*)vals_copy+strlen(vals_copy); + n = vals_copy; while(n != 0){ @@ -323,6 +326,8 @@ void icalrecur_add_bydayrules(struct icalrecur_parser *parser, const char* vals) } + free(vals_copy); + } |