aboutsummaryrefslogtreecommitdiff
path: root/source/scale_common.cc
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2018-08-13 18:32:02 -0700
committerCommit Bot <commit-bot@chromium.org>2018-08-14 17:40:44 +0000
commit67eff529ad07f1c4441c524c5dee0aafb0bbf594 (patch)
treebe5729db6739c03703cee6302009351e9a6b260c /source/scale_common.cc
parent91f0a7504ba2cc4297b5e7626c5b8f640f0a4634 (diff)
downloadlibyuv-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.cc2
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,