summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2026-01-08 22:22:52 +0100
committerVaxry <vaxry@vaxry.net>2026-01-08 22:22:58 +0100
commiteb623bd91dfdab468600924aabac51f06d3a8f99 (patch)
tree1d06ee612fd36d17a32a4c3009e612690eca5d67
parent3dcaadbdf5336791f2952456f40d06f857cbedea (diff)
animationMgr: avoid uaf in ::tick() if handleUpdate destroys AV
ref https://github.com/hyprwm/Hyprland/discussions/12840
-rw-r--r--src/managers/animation/AnimationManager.cpp3
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();