aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Haas2017-02-21 23:28:52 +0100
committerRémi Verschelde2017-03-18 20:16:40 +0100
commit96e0fd557063e2048b39fc050e7c8d36be832e03 (patch)
tree2f31f7f3d05dbd0b2069067fa25cd87ebb377ebc
parentecb4d41d20cf9a29f4acf5f00b9efd2659280f2a (diff)
downloadgodot-96e0fd557063e2048b39fc050e7c8d36be832e03.tar.gz
godot-96e0fd557063e2048b39fc050e7c8d36be832e03.tar.zst
godot-96e0fd557063e2048b39fc050e7c8d36be832e03.zip
Tween: Fix undefined behavior found by static code analyzer.
Adresses the issue mentioned in https://software.intel.com/en-us/articles/the-ultimate-question-of-programming-refactoring-and-everything (cherry picked from commit 0157969ccc80b05b93d01dd0ea11b40e588437b2)
-rw-r--r--scene/animation/tween_interpolaters.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/scene/animation/tween_interpolaters.cpp b/scene/animation/tween_interpolaters.cpp
index 5ba967301..25a27252f 100644
--- a/scene/animation/tween_interpolaters.cpp
+++ b/scene/animation/tween_interpolaters.cpp
@@ -262,7 +262,8 @@ namespace cubic {
static real_t out(real_t t, real_t b, real_t c, real_t d)
{
- return c * ((t = t / d - 1) * t * t + 1) + b;
+ t = t / d - 1;
+ return c * (t * t * t + 1) + b;
}
static real_t in_out(real_t t, real_t b, real_t c, real_t d)