FreeBSD Bugzilla – Attachment 158196 Details for
Bug 201226
graphics/lcms2: crashes with SIGBUS on armv6
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
sigbus fix
graphics_lcms2.patch (text/plain), 4.38 KB, created by
Mikael Urankar
on 2015-06-30 18:36:35 UTC
(
hide
)
Description:
sigbus fix
Filename:
MIME Type:
Creator:
Mikael Urankar
Created:
2015-06-30 18:36:35 UTC
Size:
4.38 KB
patch
obsolete
>--- Makefile (révision 390794) >+++ Makefile (copie de travail) >@@ -3,6 +3,7 @@ > > PORTNAME= lcms2 > PORTVERSION= 2.7 >+PORTREVISION= 1 > CATEGORIES= graphics > MASTER_SITES= SF/lcms/lcms/${PORTVERSION} > >--- files/patch-src_cmsnamed.c (révision 0) >+++ files/patch-src_cmsnamed.c (copie de travail) >@@ -0,0 +1,116 @@ >+--- src/cmsnamed.c.orig 2015-03-17 11:19:51 UTC >++++ src/cmsnamed.c >+@@ -185,8 +185,19 @@ cmsBool CMSEXPORT cmsMLUsetASCII(cmsMLU* >+ cmsUInt32Number i, len = (cmsUInt32Number) strlen(ASCIIString)+1; >+ wchar_t* WStr; >+ cmsBool rc; >+- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode); >+- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode); >++ union { >++ cmsUInt16Number uint16; >++ char str[2]; >++ } code_convert; >++ cmsUInt16Number Lang; >++ cmsUInt16Number Cntry; >++ >++ code_convert.str[0] = LanguageCode[0]; >++ code_convert.str[1] = LanguageCode[1]; >++ Lang = _cmsAdjustEndianess16(code_convert.uint16); >++ code_convert.str[0] = CountryCode[0]; >++ code_convert.str[1] = CountryCode[1]; >++ Cntry = _cmsAdjustEndianess16(code_convert.uint16); >+ >+ if (mlu == NULL) return FALSE; >+ >+@@ -220,10 +231,22 @@ cmsUInt32Number mywcslen(const wchar_t * >+ // Add a wide entry >+ 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); >+ cmsUInt32Number len; >+ >++ union { >++ cmsUInt16Number uint16; >++ char str[2]; >++ } code_convert; >++ cmsUInt16Number Lang; >++ cmsUInt16Number Cntry; >++ >++ code_convert.str[0] = Language[0]; >++ code_convert.str[1] = Language[1]; >++ Lang = _cmsAdjustEndianess16(code_convert.uint16); >++ code_convert.str[0] = Country[0]; >++ code_convert.str[1] = Country[1]; >++ Cntry = _cmsAdjustEndianess16(code_convert.uint16); >++ >+ if (mlu == NULL) return FALSE; >+ if (WideString == NULL) return FALSE; >+ >+@@ -350,8 +373,19 @@ cmsUInt32Number CMSEXPORT cmsMLUgetASCII >+ cmsUInt32Number StrLen = 0; >+ cmsUInt32Number ASCIIlen, i; >+ >+- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode); >+- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode); >++ union { >++ cmsUInt16Number uint16; >++ char str[2]; >++ } code_convert; >++ cmsUInt16Number Lang; >++ cmsUInt16Number Cntry; >++ >++ code_convert.str[0] = LanguageCode[0]; >++ code_convert.str[1] = LanguageCode[1]; >++ Lang = _cmsAdjustEndianess16(code_convert.uint16); >++ code_convert.str[0] = CountryCode[0]; >++ code_convert.str[1] = CountryCode[1]; >++ Cntry = _cmsAdjustEndianess16(code_convert.uint16); >+ >+ // Sanitize >+ if (mlu == NULL) return 0; >+@@ -394,8 +428,19 @@ cmsUInt32Number CMSEXPORT cmsMLUgetWide( >+ const wchar_t *Wide; >+ cmsUInt32Number StrLen = 0; >+ >+- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode); >+- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode); >++ union { >++ cmsUInt16Number uint16; >++ char str[2]; >++ } code_convert; >++ cmsUInt16Number Lang; >++ cmsUInt16Number Cntry; >++ >++ code_convert.str[0] = LanguageCode[0]; >++ code_convert.str[1] = LanguageCode[1]; >++ Lang = _cmsAdjustEndianess16(code_convert.uint16); >++ code_convert.str[0] = CountryCode[0]; >++ code_convert.str[1] = CountryCode[1]; >++ Cntry = _cmsAdjustEndianess16(code_convert.uint16); >+ >+ // Sanitize >+ if (mlu == NULL) return 0; >+@@ -427,10 +472,20 @@ CMSAPI cmsBool CMSEXPORT cmsMLUgetTransl >+ { >+ const wchar_t *Wide; >+ >+- cmsUInt16Number Lang = _cmsAdjustEndianess16(*(cmsUInt16Number*) LanguageCode); >+- cmsUInt16Number Cntry = _cmsAdjustEndianess16(*(cmsUInt16Number*) CountryCode); >+ cmsUInt16Number ObtLang, ObtCode; >+ >++ union { >++ cmsUInt16Number uint16; >++ char str[3]; >++ } code_convert; >++ cmsUInt16Number Lang; >++ cmsUInt16Number Cntry; >++ >++ strcpy(code_convert.str, LanguageCode); >++ Lang = _cmsAdjustEndianess16(code_convert.uint16); >++ strcpy(code_convert.str, CountryCode); >++ Cntry = _cmsAdjustEndianess16(code_convert.uint16); >++ >+ // Sanitize >+ if (mlu == NULL) return FALSE; >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 201226
:
158195
| 158196