diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-07-26 10:32:25 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-08-02 22:20:50 -0400 |
commit | 4664bafcb8db9f7cbcc9d16b0b1d381650b682c2 (patch) | |
tree | 5a0e87b51c6a8e5d730953df94765c6e23cb803c /rts/eventlog | |
parent | 0ecacb1ee6d353f85b83a63941b6e26f1ff9f4db (diff) | |
download | haskell-4664bafcb8db9f7cbcc9d16b0b1d381650b682c2.tar.gz |
rts: Always truncate output files
Previously there were numerous places in the RTS where we would fopen
with the "w" flag string. This is wrong as it will not truncate the
file. Consequently if we write less data than the previous length of the
file we will leave garbage at its end.
Fixes #16993.
Diffstat (limited to 'rts/eventlog')
-rw-r--r-- | rts/eventlog/EventLogWriter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/eventlog/EventLogWriter.c b/rts/eventlog/EventLogWriter.c index 9f6f487d8e..4b486926a7 100644 --- a/rts/eventlog/EventLogWriter.c +++ b/rts/eventlog/EventLogWriter.c @@ -82,7 +82,7 @@ initEventLogFileWriter(void) char *event_log_filename = outputFileName(); /* Open event log file for writing. */ - if ((event_log_file = __rts_fopen(event_log_filename, "wb")) == NULL) { + if ((event_log_file = __rts_fopen(event_log_filename, "wb+")) == NULL) { sysErrorBelch( "initEventLogFileWriter: can't open %s", event_log_filename); stg_exit(EXIT_FAILURE); |