diff options
author | Artem Strygin <art-snake@yandex-team.ru> | 2017-07-29 00:57:23 +0300 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-01 22:10:54 +0000 |
commit | 7d8544ad898255fc4dffab0a36c6cb69fce421a1 (patch) | |
tree | e03a9a8b3844b97d1f534f81862b72a0be418f6b /core/fpdfapi/parser/cpdf_read_validator.cpp | |
parent | 1c5d8504ed38dbf19ae4dee04360cf0893cdb18f (diff) | |
download | pdfium-7d8544ad898255fc4dffab0a36c6cb69fce421a1.tar.xz |
Implement read Session.
Helper for validate read problems locally,
Change-Id: I2bfbbaab8a67c0fd0cee3dadcd0f9cad5953101c
Reviewed-on: https://pdfium-review.googlesource.com/9552
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_read_validator.cpp')
-rw-r--r-- | core/fpdfapi/parser/cpdf_read_validator.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/cpdf_read_validator.cpp b/core/fpdfapi/parser/cpdf_read_validator.cpp index 148ecfd424..be20f18f33 100644 --- a/core/fpdfapi/parser/cpdf_read_validator.cpp +++ b/core/fpdfapi/parser/cpdf_read_validator.cpp @@ -26,6 +26,19 @@ FX_FILESIZE AlignUp(FX_FILESIZE offset) { } // namespace +CPDF_ReadValidator::Session::Session(CPDF_ReadValidator* validator) + : validator_(validator) { + ASSERT(validator_); + saved_read_error_ = validator_->read_error_; + saved_has_unavailable_data_ = validator_->has_unavailable_data_; + validator_->ResetErrors(); +} + +CPDF_ReadValidator::Session::~Session() { + validator_->read_error_ |= saved_read_error_; + validator_->has_unavailable_data_ |= saved_has_unavailable_data_; +} + CPDF_ReadValidator::CPDF_ReadValidator( const CFX_RetainPtr<IFX_SeekableReadStream>& file_read, CPDF_DataAvail::FileAvail* file_avail) |