)]}'
{
  "commit": "41e6ffcecbcf62ae1f1aee52fad94b4f02b0706f",
  "tree": "72b1e7f83784259287b55a54643e36f22fe50802",
  "parents": [
    "b5bfe9351ba1de20b7ee0fc60a9c0a49b324d872"
  ],
  "author": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Wed Apr 05 16:44:35 2023 +0930"
  },
  "committer": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Thu Apr 06 09:51:38 2023 +0930"
  },
  "message": "objcopy write_debugging_info memory leaks\n\nThe old stabs code didn\u0027t bother too much about freeing memory.\nThis patch corrects that and avoids some dubious copying of strings.\n\n\t* objcopy.c (write_debugging_info): Free both strings and\n\tsyms on failure to create sections.\n\t* wrstabs.c: Delete unnecessary forward declarations and casts\n\tthroughout file.\n\t(stab_write_symbol_and_free): New function.  Use it\n\tthroughout, simplifying return paths.\n\t(stab_push_string): Don\u0027t strdup string.  Use it thoughout\n\tfor malloced strings.\n\t(stab_push_string_dup): New function.  Use it throughout for\n\tstrings in auto buffers.\n\t(write_stabs_in_sections_debugging_info): Free malloced memory.\n\t(stab_enum_type): Increase buffer sizing for worst case.\n\t(stab_range_type, stab_array_type): Reduce buffer size.\n\t(stab_set_type): Likewise.\n\t(stab_method_type): Free args on error return.  Correct\n\tbuffer size.\n\t(stab_struct_field): Fix memory leaks.\n\t(stab_class_static_member, stab_class_baseclass): Likewise.\n\t(stab_start_class_type): Likewise.  Correct buffer size.\n\t(stab_class_start_method): Correct buffer size.\n\t(stab_class_method_var): Free memory on error return.\n\t(stab_start_function): Fix \"rettype\" memory leak.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "957fb851432cb8abbbb905a1b9e84ea760bef28a",
      "old_mode": 33188,
      "old_path": "binutils/objcopy.c",
      "new_id": "d4fc644640ca0523c40797489a93a6fcd1f7050f",
      "new_mode": 33188,
      "new_path": "binutils/objcopy.c"
    },
    {
      "type": "modify",
      "old_id": "53ade2eafbdea471bd1715de4ec9a3de1b02b3ab",
      "old_mode": 33188,
      "old_path": "binutils/wrstabs.c",
      "new_id": "b676374558b184d2fdf36e9862f7e63f1ec75ed9",
      "new_mode": 33188,
      "new_path": "binutils/wrstabs.c"
    }
  ]
}
