summaryrefslogtreecommitdiff
path: root/src/libical/icalvalue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libical/icalvalue.c')
-rw-r--r--src/libical/icalvalue.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libical/icalvalue.c b/src/libical/icalvalue.c
index 44541498..31af3724 100644
--- a/src/libical/icalvalue.c
+++ b/src/libical/icalvalue.c
@@ -428,6 +428,12 @@ static int simple_str_to_double(const char *from, double *result, char **to)
return 0;
}
+static void free_icalvalue_attach_data(char *data, void *user_data)
+{
+ _unused(user_data);
+ free(data);
+}
+
static icalvalue *icalvalue_new_from_string_with_error(icalvalue_kind kind,
const char *str, icalproperty ** error)
{
@@ -458,7 +464,7 @@ static icalvalue *icalvalue_new_from_string_with_error(icalvalue_kind kind,
{
icalattach *attach;
- attach = icalattach_new_from_data(str, NULL, 0);
+ attach = icalattach_new_from_data(strdup(str), free_icalvalue_attach_data, 0);
if (!attach)
break;