Age | Commit message (Collapse) | Author |
|
There are multiple functions in CPDF_Object class which can cause infinite loop due to recursively calling circular indirect objects. Fix them by deference indirect object first.
BUG=pdfium:355
TBR=jun_fang@foxitsoftware.com, thestig@chromium.org
Review URL: https://codereview.chromium.org/1585533002 .
(cherry picked from commit 90853cb1dfd1bf3803ec21cfae3e93948137be61)
Review URL: https://codereview.chromium.org/1602103004 .
|
|
BUG=pdfium:361
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1586983005 .
(cherry picked from commit a943a2516e5483012e0fbef7e8fafbed1b22ed95)
Review URL: https://codereview.chromium.org/1582413007 .
|
|
Although trailer's size value is required by spec, other readers such as
Acrobat or libpoppler can handle without it. Loose up the check to be
more tolerant.
BUG=pdfium:213
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1582193002 .
(cherry picked from commit 34291b900ad0472eef582215cfce0d942a40fd16)
Review URL: https://codereview.chromium.org/1589783004 .
|
|
BUG=pdfium:360
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1585823003 .
(cherry picked from commit 5d5d9fe7bd1c9566b9d6570015b7c60894d9fc0c)
Review URL: https://codereview.chromium.org/1583073004 .
|
|
Original Review URL: https://codereview.chromium.org/1582383002 .
(cherry picked from commit 1a82d5c28be2ebdb7524a7249e43026546d0ebf0)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1590053002 .
|
|
Original Review URL: https://codereview.chromium.org/1588733003 .
(cherry picked from commit 15367cbbb7b8bea2549212b3c9c1f01727c6ccb5)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1584563005 .
|
|
CPDF_SyntaxParser::GetObject() may enter into an infinite loop when a
signature dictionary doesn't have 'Contents' field. Add a check to
avoid that.
BUG=pdfium:344
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1575833004 .
(cherry picked from commit d3ab0f383f6736657480a8bb418c5e715a1aed3b)
Review URL: https://codereview.chromium.org/1571333004 .
|
|
BUG=pdfium:343
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1569343002 .
(cherry picked from commit 149f1db8bba85bdf2b40d330c38f2478695ca0d5)
Review URL: https://codereview.chromium.org/1575663002 .
|
|
BUG=572871
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1564773003 .
(cherry picked from commit dcac57bc8b64fdc870d79d11a498ae7021cf8ae7)
Review URL: https://codereview.chromium.org/1569663002 .
|
|
BUG=pdfium:325
TBR=weili@chromium.org
Review URL: https://codereview.chromium.org/1543043003 .
(cherry picked from commit 2d88e91ca5538470c9f4bc098e7f1f1ea9013c37)
Review URL: https://codereview.chromium.org/1560903002 .
|
|
When cross reference sections form a loop, our code will enter an
infinite loop. Add detection and exit code for v4 cross reference loading.
V5 loading was done previously.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1558093002 .
(cherry picked from commit aab8f462ea3368ed4825172231131e1a10db978d)
Review URL: https://codereview.chromium.org/1556423002 .
|
|
Original Review URL: https://codereview.chromium.org/1557173002 .
(cherry picked from commit 14fdb1d40741912e430db4318a9033764429659f)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1556983003 .
|
|
Also clean up while we're here.
BUG=557223
TBR=tsepez@chromium.org
Original Review URL: https://codereview.chromium.org/1512833008 .
(cherry picked from commit 08750d0400f1635ac33c3234cb11b192f31a1eeb)
Review URL: https://codereview.chromium.org/1521473003 .
|
|
BUG=pdfium:298
TBR=weili@chromium.org
Review URL: https://codereview.chromium.org/1496703005 .
(cherry picked from commit 93181f9a20db7ac706bb9405750303db93762a5b)
Review URL: https://codereview.chromium.org/1514783002 .
|
|
Loosen a check for earlier version of PDF files. When the bytes with
specified length are followed by 'endstream' keyword, even if there is
no EOL marker before the keyword, it signals the end of stream.
BUG=551258
TBR=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1499433002 .
(cherry picked from commit 0ff66089c87ab6e3adaaff0ec69728ce7a8d8299)
Review URL: https://codereview.chromium.org/1504723002 .
|
|
RebuildCrossRef function returns false when we can not find file trailer
or any indirect object. This serves as a basic file format checking.
BUG=pdfium:215
TBR=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1476163002 .
(cherry picked from commit f14da1d58e8e12633c7a47e6efd5ffe43bb37b4b)
Review URL: https://codereview.chromium.org/1486383002 .
|
|
This matches the type of the corresponding |CFX_DIBSource::m_Pitch|,
where integer overflow is checked for FX_DWORD. This change is
propagated to many other places.
Also, check for integer overflow in |CCodec_RLScanlineDecoder::Create|
during the calculation of |m_Pitch| since it aligns to 4 bytes while
overflow was was previously checked without this alignment.
TBR=tsepez@chromium.org
BUG=555784
Review URL: https://codereview.chromium.org/1460033002 .
(cherry picked from commit e7950df70a2fd658f466751b29483436cb31e829)
Review URL: https://codereview.chromium.org/1461363002 .
|
|
During decoding, when an image decoder is encountered, any
subsequent decoders are ignored, but remain in the array. However,
later on CPDF_DIBSource::ValidateDictParam expects the image
decoder to be the last in the array, causing issues.
A check is also added in CPDF_DIBSource::GetScanline to ensure
that the calculated pitch value is <= the (4-aligned) pitch value in the
cached bitmap to prevent future issues.
Also cleans up some NULL usages.
BUG=552046
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1406943005 .
(cherry picked from commit 182d129bcee8f7731b9bbfde0064295ad3b37271)
Review URL: https://codereview.chromium.org/1436153003 .
|
|
CPDF_DIBSource::DownSampleScanline32Bit
Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to
access the source components as if |m_bpc| == 8. Even when it fell into
the codepath that tried to do the right thing in this case, it was
wrong.
BUG=554151
TBR=tsepez@chromium.org
Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec
Review URL: https://codereview.chromium.org/1433423002 .
(cherry picked from commit e21fe98d5b5da7da01503b985b07b90c8e811689)
Review URL: https://codereview.chromium.org/1441563002 .
|
|
BUG=446715
R=thestig@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1353093003 .
Conflicts:
core/include/fpdfapi/fpdf_parser.h
core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp
samples/pdfium_test.cc
testing/embedder_test.cpp
testing/embedder_test.h
Review URL: https://codereview.chromium.org/1412083010 .
|
|
This tests whether RebuildCrossRef could handle well-formatted pdf file.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1409013005 .
(cherry picked from commit 4544797e8998a31e7bc3f5439a5982f7f66dff26)
Review URL: https://codereview.chromium.org/1413343004 .
|
|
This regressed in commit 794c9b6.
BUG=551248
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1424743006 .
(cherry picked from commit 8cadf995e9a0fec8da19f69edac9d10fccca7eed)
(cherry picked from commit 955930dce7e4b5c764cdd34b134baea4207de523)
Review URL: https://codereview.chromium.org/1416663008 .
|
|
Also cleans up some places in the relevant functions since we're here.
BUG=551460
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1421783004 .
Clean merge.
(cherry picked from commit 4f85605cbc652a17bc833f883186e0a68af6006d)
Review URL: https://codereview.chromium.org/1405383009 .
|
|
This reverts commit 5bd88ec07e79215400777f3095c6843e0627cade.
(cherry picked from commit 97dd3fec106ac8a945e03ed1509af0a8b73da993)
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1430533003 .
|
|
TBR=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1430663003 .
|
|
A template node is mandatory in XFA file. Pdfium should
ignore processing it when no template node is found in
XFA file.
BUG=pdfium:216
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1423903002 .
|
|
The m_pShadingObj can be a stream or a dictionary depending on how it's used.
This CL adds some simple type checking to make sure that the type of the
object matches what we expect.
BUG=chromium:547706
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1421973004 .
(cherry picked from commit 4ef782ab57979add3e3910d6bcfde6ef59f65724)
Review URL: https://codereview.chromium.org/1422253002 .
|
|
Revert "Add an embedded test case"
This reverts commit ec44186fdbca423eddf432be8b5c38914674023a.
Revert "Update the format"
This reverts commit 1df068061b5bb5e768a623318186523ffd251aaa.
Revert "Update .in file"
This reverts commit c13090439e1fbfd8a18c358058f137f897a7477b.
Revert "Address review comments"
This reverts commit 24967515b8be77a79aa1599f8fbf5d3ecbcd1769.
TBR=jun_fang@foxitsoftware.com
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1414033007 .
|
|
|
|
|
|
|
|
This limit mirrors FX_MAX_PAGE_LEVEL in fpdf_parser_document.cpp
Clean merge.
TBR=thestig@chromium.org
BUG=544880
Review URL: https://codereview.chromium.org/1421743003 .
(cherry picked from commit 3bfb1dcf56f8470b693ad1126e24e65f9d17926c)
Review URL: https://codereview.chromium.org/1418173003 .
|
|
PDF specs say that end of line markers shall follow the
keyword "stream". But a white space before end of line
markers follows this keyword in the test pdf files.
BUG=543018
R=thestig@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1401923005 .
|
|
Original Review URL: https://codereview.chromium.org/1404723002 .
(cherry picked from commit 7d54a9f70f977ce9b72959ef55dc6300713ccafe)
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1404193002 .
|
|
(cherry picked from commit 5bd88ec07e79215400777f3095c6843e0627cade)
Original Review URL: https://codereview.chromium.org/1232803005 .
BUG=493126
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1237713004 .
|
|
(cherry picked from commit ccc8b21622a7d6a7723bc04e065e0ec3666dab64)
Original Review URL: https://codereview.chromium.org/1377403003 .
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1384053002 .
|
|
(cherry picked from commit 158e335717efba9dce3aa6f6d1e31ed884e1f59e)
Original Review URL: https://codereview.chromium.org/1353193004 .
TBR=jochen@chromium.org, krasin@google.com
Review URL: https://codereview.chromium.org/1376343002 .
|
|
For bit per component (bpc), PDF spec mentions that a RunLengthDecode or
DCTDecode filter shall always deliver 8-bit samples. However, some PDF files
don't follow this rule. We can find that filter is RunLengthDecode but bpc is
1 in the provided test file. In this case, pdfium will correct bpc to 8 but
the actual bpc is 1. It causes a failure because the data is much more than
the expected. To handle this case, pdfium doesn't correct bpc to 8 when the
original bpc is 1.
BUG=512557
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1328213002 .
|
|
(cherry picked from commit d6d9dc6b9a45368abdf43477592ee9f6cdb6102e)
(cherry picked from commit cfff2f65aaec70247d020188bc68a0dc4fb34c3e)
Original Review URL: https://codereview.chromium.org/1372963003 .
Original Review URL: https://codereview.chromium.org/1367813003 .
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/1370133007 .
|
|
The font is slightly different from Linux/Windows.
BUG=524043
TBR=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1366363002 .
(cherry picked from commit 6c5afa68ed4e21f9d0bfd1ecc01e824d946c5485)
Review URL: https://codereview.chromium.org/1361783004 .
|
|
Pdfium swallows 'fi' or 'ff' in some tested files because it doesn't load the embedded font file correctly. The root cause is that there is incorrect keyword like 'ngendstream' in the stream of the embedded font file. Pdfium tries to find another correct keyword but uses wrong offset rather than accumulated offset.
BUG=524043
TBR=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1307353005 .
(cherry picked from commit 9bd18183ba8210c91d71c3060146235750a4c71c)
Review URL: https://codereview.chromium.org/1365253003 .
|
|
The API is the same as the Foxit version, except the encoding is
specified as UTF-8 instead of local encoding.
Also remove CPDF_LWinParam since it's unused.
BUG=chromium:517713
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1335373002 .
(cherry picked from commit 0b3c8f742613da294f812e2f6e908f4026499f96)
(cherry picked from commit a9d4bc541179ec0436adc4b2e18b7fdecc5952dc)
(cherry picked from commit 4ffd89ed556e32a6527d0e88952fe20ec1e2f362)
Review URL: https://codereview.chromium.org/1345953002 .
|
|
(cherry picked from commit f9e40aec10263f9445d69598657f42550294d653)
Orignal Review URL: https://codereview.chromium.org/1342433002 .
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1338003004 .
|
|
Credit to karl at skomski.com for the initial version of the CL.
BUG=527174
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1305033006 .
(cherry picked from commit 89d8b4681ce98894a1ee1a6cf4bae77e00d28797)
Review URL: https://codereview.chromium.org/1331303002 .
|
|
(cherry picked from commit 9241e5a43990859f6f9a94aaa2c488d0451039e3)
Original Review URL: https://codereview.chromium.org/1312313006 .
(cherry picked from commit 343dbb841f4c12e819932e2b66dd70f817337d97)
Original Review URL: https://codereview.chromium.org/1325533004 .
BUG=507316
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1332653002 .
|
|
Small manual edit in fpdfsdk/src/javascript/app.cpp
(cherry picked from commit b830fbc03a6d12d8b5be50e85499c281a4c5da7f)
Original Review URL: https://codereview.chromium.org/1317393003 .
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1302423008 .
|
|
BUG=pdfium:181
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1331633002 .
(cherry picked from commit 4bc64cabc561d5df211ed02dc75c85e41fa91312)
Review URL: https://codereview.chromium.org/1327523007 .
|
|
They were lost in commit d53e6fd.
BUG=pdfium:168
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1196523002 .
(cherry picked from commit 870b5b6793fa261f0c6f31f026010d2d715968bf)
Review URL: https://codereview.chromium.org/1301323007 .
|
|
(cherry picked from commit 6e369c2ebb4769a42736b32154c0de12b73df45d)
Original Review URL: https://codereview.chromium.org/1327473002 .
BUG=489995
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1325743002 .
|
|
(cherry picked from commit aafeff816e22c1333c17d8a0eb4fe8927c28142d)
Original Review URL: https://codereview.chromium.org/1242263010 .
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1244023004 .
|