Bug 797827 - 4.0.1 gnucash-cli seg faults on macOS Catalina

The string references in Gnucash::run_report's run_report_args were
getting corrupted so either a NULL or invalid filename was passed on
to the backend. Forcing a copy into run_report_args protects the
values and allows the report to run.
pull/754/head
John Ralls 6 years ago
parent 6ec36dd02b
commit 86f7e33291

@ -133,11 +133,15 @@ report_session_percentage (const char *message, double percent)
return;
}
/* Don't try to use std::string& for the members of the following struct, it
* results in the values getting corrupted as it passes through initializing
* Scheme when compiled with Clang.
*/
struct run_report_args {
const std::string& file_to_load;
const std::string& run_report;
const std::string& export_type;
const std::string& output_file;
const std::string file_to_load;
const std::string run_report;
const std::string export_type;
const std::string output_file;
};
static void

Loading…
Cancel
Save