Skip to content

Latest commit

 

History

History
80 lines (52 loc) · 2.77 KB

PROBLEMS.md

File metadata and controls

80 lines (52 loc) · 2.77 KB

Проблемы и план исправления

Обновлено 2026-06-15. Все проблемы исправлены. Подробности см. в IMPROVEMENTS.md.


Критические

1. NullReferenceException в HTTP API при RemoteEndPoint == null

Статус: ✅ Решено

2. Unsafe-код в CredentialTokenService

Статус: ✅ Решено — используется Marshal.PtrToStructure

3. Утечка Named Pipe при нештатном завершении

Статус: ✅ Решено — добавлен AppDomain.ProcessExit handler


Серьёзные

4. Race condition в debounce поиска

Статус: ✅ Решено — Interlocked.Exchange для потокобезопасности

5. Fire-and-forget DispatcherQueue

Статус: ✅ Решено — проверка TryEnqueue + fallback

6. Path traversal через симлинки

Статус: ✅ Решено — проверка FileAttributes.ReparsePoint

7. Token comparison timing attack

Статус: ✅ Решено — CryptographicOperations.FixedTimeEquals


Умеренные

8. PostThreadMessage без проверки результата

Статус: ✅ Решено — проверка + логирование

9. Дублирующая подписка UnhandledException

Статус: ✅ Решено — подписка только в конструкторе

10. Fire-and-forget запуск API/Hotkey

Статус: ✅ Решено — Task.WhenAll + fault continuation

11. Миграция legacy-данных — потеря данных

Статус: ✅ Решено — copy → verify → delete source

12. Анимация через Task.Delay

Статус: ✅ Решено — CompositionTarget.Rendering


Мелкие

13. Тесты не интегрированы в CI

Статус: ✅ Решено — GitHub Actions CI pipeline

14. Config settings не типобезопасны

Статус: ✅ Решено — валидация всех полей

15. Файловый логер без ротации

Статус: ✅ Проверено — FileLogger уже имеет lock (_lock) для потокобезопасности

16. Settings не перечитываются при изменении файла

Статус: ✅ Решено — FileSystemWatcher + ReloadSettings()


Итого

Категория Решено Всего
Критические 3 3
Серьёзные 4 4
Умеренные 5 5
Мелкие 4 4
Всего 16 16