aboutsummaryrefslogtreecommitdiffstats
path: root/libical/src
diff options
context:
space:
mode:
Diffstat (limited to 'libical/src')
-rw-r--r--libical/src/libical/icallangbind.c1
-rw-r--r--libical/src/libical/icalrecur.c9
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);
+
}