From 6a7895fbc1a5b18c36415f89903c6b5c85b153a8 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Mon, 13 Jun 2016 22:53:47 +0200 Subject: [PATCH] frontend/options.c, fix memory leak (pl_name, pl_title, pl_date) --- src/frontend/options.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/frontend/options.c b/src/frontend/options.c index e8ebf6420..7fea1a7a7 100644 --- a/src/frontend/options.c +++ b/src/frontend/options.c @@ -285,20 +285,26 @@ cp_usrset(struct variable *var, bool isset) fprintf(cp_err, "Error: plot name not a string\n"); return (US_DONTRECORD); } else if (eq(var->va_name, "curplotname")) { - if (plot_cur && (var->va_type == CP_STRING)) + if (plot_cur && (var->va_type == CP_STRING)) { + FREE(plot_cur->pl_name); plot_cur->pl_name = copy(var->va_string); + } else fprintf(cp_err, "Error: can't set plot name\n"); return (US_DONTRECORD); } else if (eq(var->va_name, "curplottitle")) { - if (plot_cur && (var->va_type == CP_STRING)) + if (plot_cur && (var->va_type == CP_STRING)) { + FREE(plot_cur->pl_title); plot_cur->pl_title = copy(var->va_string); + } else fprintf(cp_err, "Error: can't set plot title\n"); return (US_DONTRECORD); } else if (eq(var->va_name, "curplotdate")) { - if (plot_cur && (var->va_type == CP_STRING)) + if (plot_cur && (var->va_type == CP_STRING)) { + FREE(plot_cur->pl_date); plot_cur->pl_date = copy(var->va_string); + } else fprintf(cp_err, "Error: can't set plot date\n"); return (US_DONTRECORD);