PR 5040-Potential DB file corruption on longer then shorter re-save DB file#5041
Open
bitWarrior wants to merge 3 commits intonasa:develfrom
Open
PR 5040-Potential DB file corruption on longer then shorter re-save DB file#5041bitWarrior wants to merge 3 commits intonasa:develfrom
bitWarrior wants to merge 3 commits intonasa:develfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change Description
Changed the open() call PrmDbImpl::PRM_SAVE_FILE_cmdHandler to use OPEN_CREATE with the OVERWRITE flag, which maps to O_WRONLY | O_CREAT | O_TRUNC on POSIX. This will overwrite all stale data from any previous save and ensures only the new prm data is saved into the file.
Rationale
Fixes issue where old stale data from a larger file size could corrupt the current save.
Testing/Review Recommendations
Run new unit test. Create a larger then smaller prm file.
Future Work
N/A
AI Usage (see policy)
AI was used to create the new unit tests.