From 33ee48487aba4989607d930e341032005de02004 Mon Sep 17 00:00:00 2001 From: David Levine Date: Wed, 18 Nov 2015 18:02:43 -0500 Subject: [PATCH] If format_datetime() returns null, store a copy of node->value on c->c_text to prevent a double free(). --- uip/mhical.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uip/mhical.c b/uip/mhical.c index eb26c388..8ab305aa 100644 --- a/uip/mhical.c +++ b/uip/mhical.c @@ -642,7 +642,7 @@ display (FILE *file, contentline *clines, char *nfs) { } else if (! strcasecmp ("DTSTART", node->name)) { /* Got it: DTSTART outside of a VTIMEZONE section. */ char *datetime = format_datetime (timezones, node); - c->c_text = datetime ? datetime : node->value; + c->c_text = datetime ? datetime : strdup(node->value); } } } @@ -651,7 +651,7 @@ display (FILE *file, contentline *clines, char *nfs) { if ((c = fmt_findcomp ("dtend"))) { if ((node = find_contentline (clines, "DTEND", 0)) && node->value) { char *datetime = format_datetime (timezones, node); - c->c_text = datetime ? datetime : node->value; + c->c_text = datetime ? datetime : strdup(node->value); } } -- 2.56.0