mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
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.
This commit is contained in:
parent
6ec36dd02b
commit
86f7e33291
@ -133,11 +133,15 @@ report_session_percentage (const char *message, double percent)
|
|||||||
return;
|
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 {
|
struct run_report_args {
|
||||||
const std::string& file_to_load;
|
const std::string file_to_load;
|
||||||
const std::string& run_report;
|
const std::string run_report;
|
||||||
const std::string& export_type;
|
const std::string export_type;
|
||||||
const std::string& output_file;
|
const std::string output_file;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user