Skip to content

Commit

Permalink
Increase limit for deserialization of large arrays
Browse files Browse the repository at this point in the history
The last limit was still too small.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
  • Loading branch information
stweil committed Jul 21, 2018
1 parent 0e1e68d commit 132c540
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/ccutil/genericvector.h
Expand Up @@ -968,8 +968,9 @@ bool GenericVector<T>::DeSerialize(tesseract::TFile* fp) {
uint32_t reserved;
if (fp->FReadEndian(&reserved, sizeof(reserved), 1) != 1) return false;
// Arbitrarily limit the number of elements to protect against bad data.
assert(reserved <= 30000000);
if (reserved > 30000000) return false;
const uint32_t limit = 50000000;
assert(reserved <= limit);
if (reserved > limit) return false;
reserve(reserved);
size_used_ = reserved;
return fp->FReadEndian(data_, sizeof(T), size_used_) == size_used_;
Expand Down

0 comments on commit 132c540

Please sign in to comment.