From 79f0f74958c9f5f136c8ba491e637f79ec51167a Mon Sep 17 00:00:00 2001 From: Jacob Hageman Date: Tue, 7 Jun 2022 16:09:29 -0600 Subject: [PATCH] Fix #173, Truncate files when created to avoid stale data --- fsw/src/cf_cfdp_r.c | 3 ++- fsw/src/cf_cmd.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fsw/src/cf_cfdp_r.c b/fsw/src/cf_cfdp_r.c index 644473e1..297ace5a 100644 --- a/fsw/src/cf_cfdp_r.c +++ b/fsw/src/cf_cfdp_r.c @@ -613,7 +613,8 @@ void CF_CFDP_R_Init(CF_Transaction_t *t) CF_CFDP_ArmAckTimer(t); } - ret = CF_WrappedOpenCreate(&t->fd, t->history->fnames.dst_filename, OS_FILE_FLAG_CREATE, OS_READ_WRITE); + ret = CF_WrappedOpenCreate(&t->fd, t->history->fnames.dst_filename, OS_FILE_FLAG_CREATE | OS_FILE_FLAG_TRUNCATE, + OS_READ_WRITE); if (ret < 0) { CFE_EVS_SendEvent(CF_EID_ERR_CFDP_R_CREAT, CFE_EVS_EventType_ERROR, diff --git a/fsw/src/cf_cmd.c b/fsw/src/cf_cmd.c index 3c90f22f..f81f5b71 100644 --- a/fsw/src/cf_cmd.c +++ b/fsw/src/cf_cmd.c @@ -743,7 +743,7 @@ void CF_CmdWriteQueue(CFE_SB_Buffer_t *msg) /* PTFO: queues can be large. may want to split this work up across the state machine and take several wakeups to * complete */ - ret = CF_WrappedOpenCreate(&fd, wq->filename, OS_FILE_FLAG_CREATE, OS_WRITE_ONLY); + ret = CF_WrappedOpenCreate(&fd, wq->filename, OS_FILE_FLAG_CREATE | OS_FILE_FLAG_TRUNCATE, OS_WRITE_ONLY); if (ret < 0) { CFE_EVS_SendEvent(CF_EID_ERR_CMD_WQ_OPEN, CFE_EVS_EventType_ERROR, "CF: write queue failed to open file %s",