diff options
author | Frank Barchard <fbarchard@google.com> | 2018-08-13 18:32:02 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2018-08-14 17:40:44 +0000 |
commit | 67eff529ad07f1c4441c524c5dee0aafb0bbf594 (patch) | |
tree | be5729db6739c03703cee6302009351e9a6b260c /source/scale_common.cc | |
parent | 91f0a7504ba2cc4297b5e7626c5b8f640f0a4634 (diff) | |
download | libyuv-67eff529ad07f1c4441c524c5dee0aafb0bbf594.tar.gz |
ubsan fix for 16 bit scaling
Bug: libyuv:813
Test: tested downstream for ubsan.
Change-Id: I28c1d4e815348d051f781c9b7d8197f74905cab7
Reviewed-on: https://chromium-review.googlesource.com/1173721
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'source/scale_common.cc')
-rw-r--r-- | source/scale_common.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/scale_common.cc b/source/scale_common.cc index 106b482a..a94fe9f8 100644 --- a/source/scale_common.cc +++ b/source/scale_common.cc @@ -542,7 +542,7 @@ void ScaleFilterCols64_C(uint8_t* dst_ptr, // Same as 8 bit arm blender but return is cast to uint16_t #define BLENDER(a, b, f) \ - (uint16_t)((int)(a) + ((((int)((f)) * ((int)(b) - (int)(a))) + 0x8000) >> 16)) + (uint16_t)((int)(a) + (int)((((int64_t)((f)) * ((int64_t)(b) - (int)(a))) + 0x8000) >> 16)) void ScaleFilterCols_16_C(uint16_t* dst_ptr, const uint16_t* src_ptr, |