)]}' { "commit": "b48a715c301758ff66a96f74e3921c121b317603", "tree": "91aa2e51b8b7c99e9e98620d4f2d7fe766afec69", "parents": [ "fe9485fff248dd04a0643e4ce2309aec7ae237e1" ], "author": { "name": "Dan Sinclair", "email": "dsinclair@chromium.org", "time": "Tue Aug 30 11:22:58 2016 -0400" }, "committer": { "name": "Dan Sinclair", "email": "dsinclair@chromium.org", "time": "Tue Aug 30 11:22:58 2016 -0400" }, "message": "[Merge to M53] Fixup integer conversion logic.\n\nIn bc8a64029f898286c3dcad3a6cecdc98ef30b139 we updated the FX_atonum logic\nto correctly handle integer overflow. This causes issues when parsing the\nPermissions flag of encrypted documents as that flag isn\u0027t encoded like other\nnumbers.\n\nThe Permissions flag is a unsigned value, and has to be treated as such since\nthe sign bit is always set. The current logic will detect an overflow of the\nint value and return 0. The old logic would have detected the overflow and\nreturned the negative result regardless.\n\nThis CL updates the logic to do the string to int conversion as a uint32_t\nand then verifies the uint32_t value, if a sign was provided, fits within\nthe int range, otherwise it converts it to an int and lets it be positive or\nnegative as needed.\n\nMerge clean TBRing.\n\nBUG\u003dpdfium:539,chromium:642256\nTBR\u003dthestig@chromium.org\n\nReview-Url: https://codereview.chromium.org/2168173002\n(cherry picked from commit 6f1025492801aaa93fca2c0ed7c40a3389ad8cd1)\n\nReview URL: https://codereview.chromium.org/2291183002 .\n", "tree_diff": [ { "type": "modify", "old_id": "abd84a864fe73a7e2e1e2051b4f8c9f983c2e87e", "old_mode": 33188, "old_path": "core/fxcrt/fx_basic_util.cpp", "new_id": "663ca93e9cd899487ab08b540be89df1a1bbb2b8", "new_mode": 33188, "new_path": "core/fxcrt/fx_basic_util.cpp" }, { "type": "modify", "old_id": "3272eab70c27439cfcb8c99fc8aede009e1aa3f9", "old_mode": 33188, "old_path": "core/fxcrt/fx_basic_util_unittest.cpp", "new_id": "6eae6696ad05b4adb8c64939658610f643420149", "new_mode": 33188, "new_path": "core/fxcrt/fx_basic_util_unittest.cpp" } ] }