From 12988e5282ef52a2806cbaca9f4074698f35e399 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 7 Dec 2011 22:57:34 +0900 Subject: Replaced uint64_t with off_t or int64_t. Since off_t is int64_t with LFS, we cannot take advantage of extra capacity of uint64_t. --- src/ChunkedDecodingStreamFilter.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/ChunkedDecodingStreamFilter.cc') diff --git a/src/ChunkedDecodingStreamFilter.cc b/src/ChunkedDecodingStreamFilter.cc index b1f98bdf..87140e9e 100644 --- a/src/ChunkedDecodingStreamFilter.cc +++ b/src/ChunkedDecodingStreamFilter.cc @@ -96,8 +96,11 @@ bool ChunkedDecodingStreamFilter::readChunkSize if(extPos == std::string::npos || crlfPos < extPos) { extPos = crlfPos; } - chunkSize_ = util::parseULLInt + chunkSize_ = util::parseLLInt (std::string(buf_.begin(), buf_.begin()+extPos), 16); + if(chunkSize_ < 0) { + throw DL_ABORT_EX("Chunk size must be positive"); + } assert(crlfPos+2 > pbufSize); inbufOffset += crlfPos+2-pbufSize; buf_.clear(); @@ -155,8 +158,8 @@ bool ChunkedDecodingStreamFilter::readData const SharedHandle& out, const SharedHandle& segment) { - uint64_t readlen = - std::min(chunkSize_, static_cast(inlen-inbufOffset)); + off_t readlen = + std::min(chunkSize_, static_cast(inlen-inbufOffset)); outlen += getDelegate()->transform(out, segment, inbuf+inbufOffset, readlen); chunkSize_ -= readlen; inbufOffset += readlen; -- cgit