diff --git a/gnucash/import-export/csv-imp/gnc-tokenizer.cpp b/gnucash/import-export/csv-imp/gnc-tokenizer.cpp index d14ead25ba..5c1e054382 100644 --- a/gnucash/import-export/csv-imp/gnc-tokenizer.cpp +++ b/gnucash/import-export/csv-imp/gnc-tokenizer.cpp @@ -49,7 +49,11 @@ GncTokenizer::load_file(const std::string& path) GError *error = nullptr; if (!g_file_get_contents(path.c_str(), &raw_contents, &raw_length, &error)) - throw std::ifstream::failure(error->message); + { + std::string msg {error->message}; + g_error_free (error); + throw std::ifstream::failure {msg}; + } m_raw_contents = raw_contents; g_free(raw_contents); diff --git a/libgnucash/backend/xml/sixtp-dom-generators.cpp b/libgnucash/backend/xml/sixtp-dom-generators.cpp index 3a90aae72e..fca3563bbc 100644 --- a/libgnucash/backend/xml/sixtp-dom-generators.cpp +++ b/libgnucash/backend/xml/sixtp-dom-generators.cpp @@ -46,14 +46,16 @@ boolean_to_dom_tree (const char* tag, gboolean val) xmlNodePtr text_to_dom_tree (const char* tag, const char* str) { - xmlNodePtr result; - gchar* newstr = g_strdup (str); g_return_val_if_fail (tag, NULL); g_return_val_if_fail (str, NULL); - result = xmlNewNode (NULL, BAD_CAST tag); + + xmlNodePtr result = xmlNewNode (NULL, BAD_CAST tag); g_return_val_if_fail (result, NULL); + + gchar* newstr = g_strdup (str); xmlNodeAddContent (result, checked_char_cast (newstr)); g_free (newstr); + return result; }