Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevent infinite save loop when location is unavailable #3026

Merged
merged 1 commit into from Apr 20, 2019

Conversation

droidmonkey
Copy link
Member

Type of change

  • ✅ Bug fix (non-breaking change which fixes an issue)

Description and Context

  • This bug impacted unsafe saves

  • When auto save after every change was enabled, an unsafe save to a location that has become unavailable (eg, dismount veracrypt drive), the database modified signal would continually activate a save action that failed. This caused an infinite loop.

  • When auto-save on exit was enabled, the database tab and the application itself refused to close if saving failed for whatever reason.

  • The fixes in this commit prevent both of these scenarios from occurring

  • Fixes Endless Storing when drive is removed #3024

Testing strategy

Tested on Windows using Veracrypt file container

Checklist:

  • ✅ I have read the CONTRIBUTING document. [REQUIRED]
  • ✅ My code follows the code style of this project. [REQUIRED]
  • ✅ All new and existing tests passed. [REQUIRED]
  • ✅ I have compiled and verified my code with -DWITH_ASAN=ON. [REQUIRED]
  • ✅ My change requires a change to the documentation, and I have updated it accordingly.
  • ✅ I have added tests to cover my changes.

* This bug impacted unsafe saves
* When auto save after every change was enabled, an unsafe save to a location that has become unavailable (eg, dismount veracrypt drive), the database modified signal would continually activate a save action that failed. This caused an infinite loop.
* When auto-save on exit was enabled, the database tab and the application itself refused to close if saving failed for whatever reason.

* The fixes in this commit prevent both of these scenarios from occurring
@phoerious phoerious merged commit 219a0f4 into release/2.4.2 Apr 20, 2019
@phoerious phoerious deleted the hotfix/save-loop branch April 20, 2019 16:10
droidmonkey added a commit that referenced this pull request May 31, 2019
- Improve resilience against memory attacks - overwrite memory before free [#3020]
- Prevent infinite save loop when location is unavailable [#3026]
- Attempt to fix quitting application when shutdown or logout issued [#3199]
- Support merging database custom data [#3002]
- Fix opening URL's with non-http schemes [#3153]
- Fix data loss due to not reading all database attachments if duplicates exist [#3180]
- Fix entry context menu disabling when using keyboard navigation [#3199]
- Fix behaviors when canceling an entry edit [#3199]
- Fix processing of tray icon click and doubleclick [#3112]
- Update group in preview widget when focused [#3199]
- Prefer DuckDuckGo service over direct icon download (increases resolution) [#2996]
- Remove apply button in application settings [#3019]
- Use winqtdeploy on Windows to correct deployment issues [#3025]
- Don't mark entry edit as modified when attribute selection changes [#3041]
- Use console code page CP_UTF8 on Windows if supported [#3050]
- Snap: Fix locking database with session lock [#3046]
- Snap: Fix theming across Linux distributions [#3057]
- Snap: Use SNAP_USER_COMMON and SNAP_USER_DATA directories [#3131]
- KeeShare: Automatically enable WITH_XC_KEESHARE_SECURE if quazip is found [#3088]
- macOS: Fix toolbar text when in dark mode [#2998]
- macOS: Lock database on switching user [#3097]
- macOS: Fix global Auto-Type when the database is locked [#3138]
- Browser: Close popups when database is locked [#3093]
- Browser: Add tests [#3016]
- Browser: Don't create default group if custom group is enabled [#3127]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants