)]}'
{
  "commit": "5f433c8a22d205996f0c0b327ba3aa626928fb45",
  "tree": "1baa105e26c9642cba5a5d080af489e72f04e7cc",
  "parents": [
    "1f17f56c4efc3f2175b7f1c45c982809bb4b9fe4"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Thu Jun 13 06:57:58 2013 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Thu Jun 13 06:57:58 2013 -0700"
  },
  "message": "Fix a reallocation bug in CreateJacobianBlockSparsityTranspose.\n\nCreateJacobianBlockSparsityTranspose starts with a conservative\nestimate of the size of the block sparsity pattern of the Jacobian.\nWhen the Jacobian has more non-zeros than that, the TripletSparseMatrix\nbeing used to store the sparsity has a Reallocate method which\nallows one to resize the matrix and IF num_nonzeros is set, then the\nexisting values in the array are also copied into the newly allocated\nmemory.\n\nUnfortunately the pattern we follow in ceres code is to call\nset_num_nonzeros after one is done populating the sparsity pattern\nof a matrix. This does not mix well with Reallocate and results\nin the matrix having uninitialized memory.\n\nThis patch fixes this problem and adds a test that verifies the fix.\n\nThanks to Yuliy Schwartzburg for reporting this bug and providing\ncode to reproduce it.\n\nChange-Id: I58583714ffaebd880d85af16e3685b2d6ee053e8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76e9c927c4804be2debeab4440d589bb85d5248b",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.cc",
      "new_id": "f0ac2f6c1c21166e3f2466ddc2d90c5914db9dca",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "e99a3de52682d02a799e856cae5c11c3620e2deb",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl_test.cc",
      "new_id": "7413ca8df0e9c7bc0869b43a6a5713e8562743ec",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl_test.cc"
    }
  ]
}
