diff -Nurd xerces-c-3.1.1.orig/src/xercesc/util/XMLUTF8Transcoder.cpp xerces-c-3.1.1/src/xercesc/util/XMLUTF8Transcoder.cpp --- xerces-c-3.1.1.orig/src/xercesc/util/XMLUTF8Transcoder.cpp 2010-04-11 09:04:59.000000000 -0400 +++ xerces-c-3.1.1/src/xercesc/util/XMLUTF8Transcoder.cpp 2023-03-03 00:45:43.000000000 -0500 @@ -178,7 +178,7 @@ if((gUTFByteIndicatorTest[trailingBytes] & *srcPtr) != gUTFByteIndicator[trailingBytes]) { char pos[2] = {(char)0x31, 0}; char len[2] = {(char)(trailingBytes+0x31), 0}; - char byte[2] = {*srcPtr,0}; + char byte[2] = {(char)*srcPtr,0}; ThrowXMLwithMemMgr3(UTFDataFormatException, XMLExcepts::UTF8_FormatError, pos, byte, len, getMemoryManager()); } @@ -246,8 +246,8 @@ // if (( *srcPtr == 0xE0) && ( *(srcPtr+1) < 0xA0)) { - char byte0[2] = {*srcPtr ,0}; - char byte1[2] = {*(srcPtr+1),0}; + char byte0[2] = {(char)*srcPtr ,0}; + char byte1[2] = {(char)*(srcPtr+1),0}; ThrowXMLwithMemMgr2(UTFDataFormatException , XMLExcepts::UTF8_Invalid_3BytesSeq @@ -284,8 +284,8 @@ if ((*srcPtr == 0xED) && (*(srcPtr+1) >= 0xA0)) { - char byte0[2] = {*srcPtr, 0}; - char byte1[2] = {*(srcPtr+1),0}; + char byte0[2] = {(char)*srcPtr, 0}; + char byte1[2] = {(char)*(srcPtr+1),0}; ThrowXMLwithMemMgr2(UTFDataFormatException , XMLExcepts::UTF8_Irregular_3BytesSeq @@ -310,8 +310,8 @@ if (((*srcPtr == 0xF0) && (*(srcPtr+1) < 0x90)) || ((*srcPtr == 0xF4) && (*(srcPtr+1) > 0x8F)) ) { - char byte0[2] = {*srcPtr ,0}; - char byte1[2] = {*(srcPtr+1),0}; + char byte0[2] = {(char)*srcPtr ,0}; + char byte1[2] = {(char)*(srcPtr+1),0}; ThrowXMLwithMemMgr2(UTFDataFormatException , XMLExcepts::UTF8_Invalid_4BytesSeq @@ -344,7 +344,7 @@ * surrogates, nor U+FFFE and U+FFFF (but it does allow other noncharacters). ***/ char len[2] = {(char)(trailingBytes+0x31), 0}; - char byte[2] = {*srcPtr,0}; + char byte[2] = {(char)*srcPtr,0}; ThrowXMLwithMemMgr2(UTFDataFormatException , XMLExcepts::UTF8_Exceeds_BytesLimit diff -Nurd xerces-c-3.1.1.orig/src/xercesc/util/XMLUTF8Transcoder.hpp xerces-c-3.1.1/src/xercesc/util/XMLUTF8Transcoder.hpp --- xerces-c-3.1.1.orig/src/xercesc/util/XMLUTF8Transcoder.hpp 2010-04-11 09:04:59.000000000 -0400 +++ xerces-c-3.1.1/src/xercesc/util/XMLUTF8Transcoder.hpp 2023-03-03 00:45:43.000000000 -0500 @@ -107,7 +107,7 @@ { char len[2] = {(char)(trailingBytes+0x31), 0}; char pos[2] = {(char)(position+0x31), 0}; - char byte[2] = {toCheck,0}; + char byte[2] = {(char)toCheck,0}; ThrowXMLwithMemMgr3(UTFDataFormatException, XMLExcepts::UTF8_FormatError, pos, byte, len, getMemoryManager()); } diff -Nurd xerces-c-3.1.1.orig/src/xercesc/util/regx/ParserForXMLSchema.cpp xerces-c-3.1.1/src/xercesc/util/regx/ParserForXMLSchema.cpp --- xerces-c-3.1.1.orig/src/xercesc/util/regx/ParserForXMLSchema.cpp 2008-07-22 16:05:05.000000000 -0400 +++ xerces-c-3.1.1/src/xercesc/util/regx/ParserForXMLSchema.cpp 2023-03-03 00:45:43.000000000 -0500 @@ -156,7 +156,7 @@ break; default: { - XMLCh chString[] = {chBackSlash, ch, chNull}; + XMLCh chString[] = {chBackSlash, (XMLCh)ch, chNull}; ThrowXMLwithMemMgr1(ParseException,XMLExcepts::Parser_Process2, chString, getMemoryManager()); } } diff -Nurd xerces-c-3.1.1.orig/src/xercesc/util/regx/RegxParser.cpp xerces-c-3.1.1/src/xercesc/util/regx/RegxParser.cpp --- xerces-c-3.1.1.orig/src/xercesc/util/regx/RegxParser.cpp 2009-11-11 05:03:53.000000000 -0500 +++ xerces-c-3.1.1/src/xercesc/util/regx/RegxParser.cpp 2023-03-03 00:45:43.000000000 -0500 @@ -691,11 +691,11 @@ || (ch == chDash && getCharData() == chCloseSquare && firstLoop))) { // if regex = [-] then invalid... // '[', ']', '-' not allowed and should be escaped - XMLCh chStr[] = { ch, chNull }; + XMLCh chStr[] = { (XMLCh)ch, chNull }; ThrowXMLwithMemMgr2(ParseException,XMLExcepts::Parser_CC6, chStr, chStr, getMemoryManager()); } if (ch == chDash && getCharData() == chDash && getState() != REGX_T_BACKSOLIDUS && !wasDecoded) { - XMLCh chStr[] = { ch, chNull }; + XMLCh chStr[] = { (XMLCh)ch, chNull }; ThrowXMLwithMemMgr2(ParseException,XMLExcepts::Parser_CC6, chStr, chStr, getMemoryManager()); } @@ -720,7 +720,7 @@ else { XMLInt32 rangeEnd = getCharData(); - XMLCh rangeEndStr[] = { rangeEnd, chNull }; + XMLCh rangeEndStr[] = { (XMLCh)rangeEnd, chNull }; if (type == REGX_T_CHAR) { @@ -737,7 +737,7 @@ processNext(); if (ch > rangeEnd) { - XMLCh chStr[] = { ch, chNull }; + XMLCh chStr[] = { (XMLCh)ch, chNull }; ThrowXMLwithMemMgr2(ParseException,XMLExcepts::Parser_Ope3, rangeEndStr, chStr, getMemoryManager()); } @@ -845,7 +845,7 @@ break; default: { - XMLCh chString[] = {chBackSlash, ch, chNull}; + XMLCh chString[] = {chBackSlash, (XMLCh)ch, chNull}; ThrowXMLwithMemMgr1(ParseException,XMLExcepts::Parser_Process2, chString, getMemoryManager()); } }