)]}'
{
  "commit": "48d47a4912684bfa4d23d3cdaab60046bf3d0468",
  "tree": "09075e620e6b446c569a9fe9d5a2e9c8784dd0f1",
  "parents": [
    "8b0a281f538ccd86a96efb35b51918be2473312a"
  ],
  "author": {
    "name": "Alexis Hetu",
    "email": "sugoi@google.com",
    "time": "Thu Jan 10 14:04:26 2019 -0500"
  },
  "committer": {
    "name": "Alexis Hétu",
    "email": "sugoi@google.com",
    "time": "Thu Jan 17 18:44:38 2019 +0000"
  },
  "message": "Fixed all OOB accesses in VertexProgram and PixelProgram\n\nA lot of arrays in VertexProgram and PixelProgram have fixed sizes,\nso programs that have more nested loops or ifs or deeper call stacks\ncan cause OOB accesses, which causes security issues in Chromium.\n\nIndex clamping was added to prevent any OOB memory accesses here.\n\nThis could eventually be fixed properly by first verifying these sizes\nand giving shader compile errors when these limits are exceeded.\n\nBug chromium:915197 chromium:915206 chromium:915218 b/116373662\n\nChange-Id: I2d0710ed0ce6585f139cba49d5b5d8c909ae6391\nReviewed-on: https://swiftshader-review.googlesource.com/c/23568\nTested-by: Alexis Hétu \u003csugoi@google.com\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "837df461ab0676d94e6ee1276d75d289f06851ef",
      "old_mode": 33188,
      "old_path": "src/Common/Types.hpp",
      "new_id": "fac6d362891cf0b2a19f8faee0a1dbbdddbc3a88",
      "new_mode": 33188,
      "new_path": "src/Common/Types.hpp"
    },
    {
      "type": "modify",
      "old_id": "017e38b8b629e1cededb90aeba4d9747f0772b01",
      "old_mode": 33188,
      "old_path": "src/Main/Config.hpp",
      "new_id": "d2ba6ff7bd2ce962cf5b9a7eba933b4298b66677",
      "new_mode": 33188,
      "new_path": "src/Main/Config.hpp"
    },
    {
      "type": "modify",
      "old_id": "671b0ef50b185fea7cf3422a272eb983e3246c11",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelProgram.cpp",
      "new_id": "bc879a3daf3e96e13ef186428f71be7a34348d44",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelProgram.cpp"
    },
    {
      "type": "modify",
      "old_id": "3c3a06fdfa40e95e454026eb1caf38ac011c84ee",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelProgram.hpp",
      "new_id": "b8548d763374d45acfe66c98948f0d2f47646425",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelProgram.hpp"
    },
    {
      "type": "modify",
      "old_id": "36192c93c7473e7c4bc140843ad2c16ca11d3788",
      "old_mode": 33188,
      "old_path": "src/Shader/Shader.cpp",
      "new_id": "0e06703cae08a5e955684d7dc3f03069c3789f4f",
      "new_mode": 33188,
      "new_path": "src/Shader/Shader.cpp"
    },
    {
      "type": "modify",
      "old_id": "bde7531af4362d8b0b5ad979e0a4f32cb1bf6bfa",
      "old_mode": 33188,
      "old_path": "src/Shader/VertexProgram.cpp",
      "new_id": "05f8dfb8244e6423fb2da4dca24c8fe925586e8f",
      "new_mode": 33188,
      "new_path": "src/Shader/VertexProgram.cpp"
    },
    {
      "type": "modify",
      "old_id": "33f3c5cf47cf895019b43088a28c29f6ccef81d9",
      "old_mode": 33188,
      "old_path": "src/Shader/VertexProgram.hpp",
      "new_id": "379abce54ad7e6047b4d32c1a2f5494c2f365aa2",
      "new_mode": 33188,
      "new_path": "src/Shader/VertexProgram.hpp"
    }
  ]
}
