xerces-c can not deal with high GBK file
Stephen John Smoogen
smooge at gmail.com
Fri Jul 23 17:20:37 UTC 2010
Thanks for the bug report. will see what we can do with it.
On Fri, Jul 23, 2010 at 01:41, Kirby Zhou <kirbyzhou at sohu-rd.com> wrote:
> xerces-c-3.0.1/2.7.0 can not deal with high GBK file
>
> There is a bug inside util/Transcoders/IconvGNU/IconvGNUTransService.cpp.
>
> 1027 for (size_t cnt = 0; cnt < maxChars && srcLen; cnt++) {
> 1028 size_t rc = iconvFrom(startSrc, &srcLen, &orgTarget,
> uChSize());
> 1029 if (rc == (size_t)-1) {
> 1030 if (errno != E2BIG || prevSrcLen == srcLen) {
> 1031 ThrowXMLwithMemMgr(TranscodingException,
> XMLExcepts::Trans_BadSrcSeq, getMemoryManager());
> 1032 }
> 1033 }
> 1034 charSizes[cnt] = prevSrcLen - srcLen;
> 1035 prevSrcLen = srcLen;
> 1036 bytesEaten += charSizes[cnt];
> 1037 startSrc = endSrc - srcLen;
> 1038 toReturn++;
> 1039 }
>
> If a huge file is passed to xerces, partial text will be passed to
> IconvGNUTranscoder, and an incomplete multibyte sequence will been
> encountered in the input.
> errno EINVAL is for that. But the errno of EINVAL is unchecked.
>
>
>
> Regards,
> Kirby Zhou
> from SOHU-RD +86-10-6272-8261
>
>
>
> _______________________________________________
> epel-devel-list mailing list
> epel-devel-list at redhat.com
> https://www.redhat.com/mailman/listinfo/epel-devel-list
>
--
Stephen J Smoogen.
“The core skill of innovators is error recovery, not failure avoidance.”
Randy Nelson, President of Pixar University.
"We have a strategic plan. It's called doing things.""
— Herb Kelleher, founder Southwest Airlines
More information about the epel-devel
mailing list