From eaacac321743434ce8610b4b61f56a3fe4a63567 Mon Sep 17 00:00:00 2001 From: Sergey Starosek Date: Tue, 15 Jul 2014 16:45:21 +0400 Subject: [PATCH] Fix segfault in world map export Attempting to export to write-protected file/directory results in NULL file reference and leads to segfault when writing/closing it. Signed-off-by: Sergey Starosek Signed-off-by: Dirk Hohndel --- worldmap-save.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/worldmap-save.c b/worldmap-save.c index dfce3627a..0992b8eb5 100644 --- a/worldmap-save.c +++ b/worldmap-save.c @@ -102,10 +102,11 @@ void export_worldmap_HTML(const char *file_name, const bool selected_only) export(&buf, selected_only); f = subsurface_fopen(file_name, "w+"); - if (!f) + if (!f) { report_error(translate("gettextFromC", "Can't open file %s"), file_name); - - flush_buffer(&buf, f); /*check for writing errors? */ + } else { + flush_buffer(&buf, f); /*check for writing errors? */ + fclose(f); + } free_buffer(&buf); - fclose(f); }