diff options
author | Nicolas Pena <npm@chromium.org> | 2018-01-30 21:42:41 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-30 21:42:41 +0000 |
commit | 2334660053e044ca79a1831a6c73f69891f039e0 (patch) | |
tree | 1114eeb0e18288235dff4ff694a8c7129541a7f2 /fpdfsdk/fpdfedittext.cpp | |
parent | 90d9386825b872a0b668eac5dff3e268fa7ad16c (diff) | |
download | pdfium-2334660053e044ca79a1831a6c73f69891f039e0.tar.xz |
Use unsigned for char widthchromium/3335
Bug: 806612
Change-Id: I22bd9046dd37a1b596762c46a6b29a323d6e9fa1
Reviewed-on: https://pdfium-review.googlesource.com/24410
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdfedittext.cpp')
-rw-r--r-- | fpdfsdk/fpdfedittext.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fpdfsdk/fpdfedittext.cpp b/fpdfsdk/fpdfedittext.cpp index 22c6266ec1..7bbb6a857c 100644 --- a/fpdfsdk/fpdfedittext.cpp +++ b/fpdfsdk/fpdfedittext.cpp @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <algorithm> +#include <limits> #include <map> #include <memory> #include <utility> @@ -259,7 +261,10 @@ void* LoadSimpleFont(CPDF_Document* pDoc, fontDict->SetNewFor<CPDF_Number>("FirstChar", static_cast<int>(currentChar)); CPDF_Array* widthsArray = pDoc->NewIndirect<CPDF_Array>(); while (true) { - widthsArray->AddNew<CPDF_Number>(pFont->GetGlyphWidth(glyphIndex)); + uint32_t width = + std::min(pFont->GetGlyphWidth(glyphIndex), + static_cast<uint32_t>(std::numeric_limits<int>::max())); + widthsArray->AddNew<CPDF_Number>(static_cast<int>(width)); uint32_t nextChar = FXFT_Get_Next_Char(pFont->GetFace(), currentChar, &glyphIndex); // Simple fonts have 1-byte charcodes only. |