From 7a99d7e5c3b297b543a9ce1ab36e337c1a8e0bf0 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 18 Nov 2017 10:03:58 +0100 Subject: [PATCH] Copy default filename string when assigning to default preferences This tries to remove subtle ownership issues. When copying preferences structures, the default filename is copied. But the default preferences struct simply takes a pointer to a global string which is free()d in main(). Now, this is not strictly a bug because the free()ing of preferences resources is not implemented. Yet, let's try to make this consistent. Signed-off-by: Berthold Stoeger --- core/subsurfacestartup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/subsurfacestartup.c b/core/subsurfacestartup.c index 61bff87fa..c5962d6c0 100644 --- a/core/subsurfacestartup.c +++ b/core/subsurfacestartup.c @@ -295,7 +295,7 @@ void setup_system_prefs(void) default_prefs.font_size = system_divelist_default_font_size; #if !defined(SUBSURFACE_MOBILE) - default_prefs.default_filename = system_default_filename(); + default_prefs.default_filename = copy_string(system_default_filename()); #endif env = getenv("LC_MEASUREMENT"); if (!env)