)]}'
{
  "commit": "a60ead5ded5f9fc548018637d4810cb5f313ad8c",
  "tree": "498e2438ee2998585785b8c16d8d2eddc3880de3",
  "parents": [
    "6b7b705d7c21b0d0dd9eaf5273a711e20e238ec3"
  ],
  "author": {
    "name": "Nils-Christian Kempke",
    "email": "nils-christian.kempke@intel.com",
    "time": "Tue May 31 16:43:45 2022 +0200"
  },
  "committer": {
    "name": "Nils-Christian Kempke",
    "email": "nils-christian.kempke@intel.com",
    "time": "Tue May 31 16:44:56 2022 +0200"
  },
  "message": "gdb, testsuite, fortran: fix double free in mixed-lang-stack.exp\n\nWhile testing mixed-lang-stack I realized that valgrind actually\ncomplained about a double free in the test.\n\n   All done\n  \u003d\u003d2503051\u003d\u003d\n  \u003d\u003d2503051\u003d\u003d HEAP SUMMARY:\n  \u003d\u003d2503051\u003d\u003d     in use at exit: 0 bytes in 0 blocks\n  \u003d\u003d2503051\u003d\u003d   total heap usage: 26 allocs, 27 frees, 87,343 bytes allocated\n  \u003d\u003d2503051\u003d\u003d\n  \u003d\u003d2503051\u003d\u003d All heap blocks were freed -- no leaks are possible\n  \u003d\u003d2503051\u003d\u003d\n  \u003d\u003d2503051\u003d\u003d For lists of detected and suppressed errors, rerun with: -s\n  \u003d\u003d2503051\u003d\u003d ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)\n\nReason for this is that in mixed-lang-stack.cpp in mixed_func_1f an\nobject \"derived_type obj\" goes on the stack which is then passed-by-value\n(so copied) to mixed_func_1g.  The default copy-ctor will be called but,\nsince derived_type contains a heap allocated string and the copy\nconstructor is not implemented it will only be able to shallow copy the\nobject.  Right after each of the functions the object gets freed - on the\nother hand the d\u0027tor of derived_type actually is implemented and calls\nfree on the heap allocated string which leads to a double free.  Instead\nof obeying the rule of 3/5 I just got rid of all that since it does not\nserve the test.  The string is now just a const char* \u003d \"..\" object\nmember.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39ff6c201f70b94d44252c8725da45c968c2f84d",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.fortran/mixed-lang-stack.cpp",
      "new_id": "b5ae7dac0a86434105c5d89acb77ad221eccd2ca",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.fortran/mixed-lang-stack.cpp"
    }
  ]
}
