diff options
| author | Vaxry <vaxry@vaxry.net> | 2026-01-08 22:22:52 +0100 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2026-01-08 22:22:58 +0100 |
| commit | eb623bd91dfdab468600924aabac51f06d3a8f99 (patch) | |
| tree | 1d06ee612fd36d17a32a4c3009e612690eca5d67 /src/managers | |
| parent | 3dcaadbdf5336791f2952456f40d06f857cbedea (diff) | |
animationMgr: avoid uaf in ::tick() if handleUpdate destroys AV
ref https://github.com/hyprwm/Hyprland/discussions/12840
Diffstat (limited to 'src/managers')
| -rw-r--r-- | src/managers/animation/AnimationManager.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/managers/animation/AnimationManager.cpp b/src/managers/animation/AnimationManager.cpp index 9a3fc157..05ce6939 100644 --- a/src/managers/animation/AnimationManager.cpp +++ b/src/managers/animation/AnimationManager.cpp @@ -216,6 +216,9 @@ void CHyprAnimationManager::tick() { if (!PAV) continue; + // lock this value while we are doing handleUpdate to avoid a UAF if an update callback destroys it + const auto LOCK = PAV.lock(); + // for disabled anims just warp bool warp = !*PANIMENABLED || !PAV->enabled(); |
