Files
libreoffice/external/lcms2/ubsan.patch.0
Stephan Bergmann ed874d2eab external/lcms2: Work around -fsanitize=alignment
Change-Id: I57c49172fa5bb19968bf217285d0cd9222cc3530
2015-01-28 17:56:18 +01:00

23 lines
934 B
Plaintext

--- src/cmsnamed.c
+++ src/cmsnamed.c
@@ -221,7 +221,7 @@
cmsBool CMSEXPORT cmsMLUsetWide(cmsMLU* mlu, const char Language[3], const char Country[3], const wchar_t* WideString)
{
cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) Language);
- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) Country);
+ cmsUInt16Number Cntry = Country[0] | ((cmsUInt16Number) Country[1]) << 8;
cmsUInt32Number len;
if (mlu == NULL) return FALSE;
--- src/lcms2_internal.h
+++ src/lcms2_internal.h
@@ -93,7 +93,7 @@
// A fast way to convert from/to 16 <-> 8 bits
#define FROM_8_TO_16(rgb) (cmsUInt16Number) ((((cmsUInt16Number) (rgb)) << 8)|(rgb))
-#define FROM_16_TO_8(rgb) (cmsUInt8Number) ((((rgb) * 65281 + 8388608) >> 24) & 0xFF)
+#define FROM_16_TO_8(rgb) (cmsUInt8Number) ((((unsigned)(rgb) * 65281 + 8388608) >> 24) & 0xFF)
// Code analysis is broken on asserts
#ifdef _MSC_VER