diff options
| author | Andreas Haas | 2017-02-21 23:28:52 +0100 |
|---|---|---|
| committer | Rémi Verschelde | 2017-03-18 20:16:40 +0100 |
| commit | 96e0fd557063e2048b39fc050e7c8d36be832e03 (patch) | |
| tree | 2f31f7f3d05dbd0b2069067fa25cd87ebb377ebc | |
| parent | ecb4d41d20cf9a29f4acf5f00b9efd2659280f2a (diff) | |
| download | godot-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.cpp | 3 |
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) |
