summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2017-08-15 11:14:22 +0200
committerDavid Tardon <dtardon@redhat.com>2017-08-15 11:14:22 +0200
commitd01430b2e8b768283acf0e18325a81b73e3d946a (patch)
tree759ceb2a09c28dcb98a421ecee14c117fe156efd
parent2f2f99bbc52402fd0a913d429349798fac598f88 (diff)
ofz#2716 fix signed integer overflow
Change-Id: Iad5123c7ae487a252cdf066bc237cbcc8444017c
-rw-r--r--src/lib/FHCollector.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/FHCollector.cpp b/src/lib/FHCollector.cpp
index c79bb31..0f0cf36 100644
--- a/src/lib/FHCollector.cpp
+++ b/src/lib/FHCollector.cpp
@@ -3180,9 +3180,9 @@ libfreehand::FHRGBColor libfreehand::FHCollector::getRGBFromTint(const FHTintCol
const FHRGBColor *rgbColor = _findRGBColor(tint.m_baseColorId);
if (!rgbColor)
return FHRGBColor();
- unsigned red = rgbColor->m_red * tint.m_tint + (65536 - tint.m_tint) * 65536;
- unsigned green = rgbColor->m_green * tint.m_tint + (65536 - tint.m_tint) * 65536;
- unsigned blue = rgbColor->m_blue * tint.m_tint + (65536 - tint.m_tint) * 65536;
+ unsigned red = rgbColor->m_red * tint.m_tint + ((65536 - tint.m_tint) << 16);
+ unsigned green = rgbColor->m_green * tint.m_tint + ((65536 - tint.m_tint) << 16);
+ unsigned blue = rgbColor->m_blue * tint.m_tint + ((65536 - tint.m_tint) << 16);
FHRGBColor color;
color.m_red = (red >> 16);
color.m_green = (green >> 16);