diff options
Diffstat (limited to 'lib/cpp/src/thrift/transport/TFileTransport.cpp')
-rw-r--r-- | lib/cpp/src/thrift/transport/TFileTransport.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/cpp/src/thrift/transport/TFileTransport.cpp b/lib/cpp/src/thrift/transport/TFileTransport.cpp index 0cbf3571c..4b6ea47fb 100644 --- a/lib/cpp/src/thrift/transport/TFileTransport.cpp +++ b/lib/cpp/src/thrift/transport/TFileTransport.cpp @@ -711,9 +711,10 @@ eventInfo* TFileTransport::readEvent() { readState_.eventSizeBuff_[readState_.eventSizeBuffPos_++] = readBuff_[readState_.bufferPtr_++]; + if (readState_.eventSizeBuffPos_ == 4) { - // 0 length event indicates padding - if (*((uint32_t *)(readState_.eventSizeBuff_)) == 0) { + if (readState_.getEventSize() == 0) { + // 0 length event indicates padding // T_DEBUG_L(1, "Got padding"); readState_.resetState(readState_.lastDispatchPtr_); continue; @@ -724,7 +725,7 @@ eventInfo* TFileTransport::readEvent() { delete(readState_.event_); } readState_.event_ = new eventInfo(); - readState_.event_->eventSize_ = *((uint32_t *)(readState_.eventSizeBuff_)); + readState_.event_->eventSize_ = readState_.getEventSize(); // check if the event is corrupted and perform recovery if required if (isEventCorrupted()) { |