Use unsigned type for decoding in _A85Decode.
authorBo Xu <bo_xu@foxitsoftware.com>
Tue, 27 May 2014 18:05:32 +0000 (11:05 -0700)
committerBo Xu <bo_xu@foxitsoftware.com>
Tue, 27 May 2014 18:05:32 +0000 (11:05 -0700)
The local variable res can overflow over 2^31-1 and so
we must use unsigned type for decoding.

BUG=none
R=bo_xu@foxitsoftware.com

Review URL: https://codereview.chromium.org/288983009

core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp

index dfc26bc..c395283 100644 (file)
@@ -44,7 +44,8 @@ FX_DWORD _A85Decode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_b
     if (dest_buf == NULL) {
         return (FX_DWORD) - 1;
     }
-    int state = 0, res = 0;
+    int state = 0;
+       FX_UINT32 res = 0;
     pos = dest_size = 0;
     while (pos < src_size) {
         FX_BYTE ch = src_buf[pos++];