)]}'
{
  "commit": "c622993a154e6134b6dae0c31455e30cd96e4fa7",
  "tree": "fb8653e39172664c7ad06be49dc6ef4cb6f08d26",
  "parents": [
    "4bda1fb42f3ba7b06d38a9f8277c40ad37226a51"
  ],
  "author": {
    "name": "Jens Remus",
    "email": "jremus@linux.ibm.com",
    "time": "Mon Jan 27 16:43:39 2025 +0100"
  },
  "committer": {
    "name": "Jens Remus",
    "email": "jremus@linux.ibm.com",
    "time": "Mon Jan 27 16:43:39 2025 +0100"
  },
  "message": "s390: s390_machine leak\n\nSimplify the .machine directive parsing logic, so that cpu_string is\nalways xstrdup\u0027d and can therefore always be xfree\u0027d before returning\nto the caller.\n\nThis resolves the following memory leak reported by ASAN:\n\nDirect leak of 13 byte(s) in 3 object(s) allocated from:\n    #0 0x3ff8aafbb1d in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69\n    #1 0x2aa338861cf in xmalloc ../../libiberty/xmalloc.c:149\n    #2 0x2aa338868ff in xstrdup ../../libiberty/xstrdup.c:34\n    #3 0x2aa320253cb in s390_machine ../../gas/config/tc-s390.c:2172\n    #4 0x2aa31fddc7b in read_a_source_file ../../gas/read.c:1293\n    #5 0x2aa31f4f7bf in perform_an_assembly_pass ../../gas/as.c:1223\n    #6 0x2aa31f4f7bf in main ../../gas/as.c:1436\n    #7 0x3ff8a02be35 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58\n    #8 0x3ff8a02bf33 in __libc_start_main_impl ../csu/libc-start.c:360\n    #9 0x2aa31f5758f  (/home/jremus/git/binutils/build-asan/gas/as-new+0x2d5758f) (BuildId: ...)\n\nWhile at it add tests with double quoted .machine\n\"\u003ccpu\u003e[+\u003cextension\u003e...]\" values.\n\ngas/\n\t* config/tc-s390.c (s390_machine): Simplify parsing and free\n\tcpu_string before returning.\n\ngas/testsuite/\n\t* gas/s390/machine-parsing-1.l: Add tests with double quoted\n\tvalues.\n\t* gas/s390/machine-parsing-1.s: Likewise.\n\nSigned-off-by: Jens Remus \u003cjremus@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "113b9f41a1ece0493590b191103f85af59a09f73",
      "old_mode": 33188,
      "old_path": "gas/config/tc-s390.c",
      "new_id": "b651acc3cf90bec4d9e267dba82e7dd7c3ac2111",
      "new_mode": 33188,
      "new_path": "gas/config/tc-s390.c"
    },
    {
      "type": "modify",
      "old_id": "1a83ec81897d2da3be449565db09b4075524dcac",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/s390/machine-parsing-1.l",
      "new_id": "8850eff5432086c56d12debb60e18e4db56a4baf",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/s390/machine-parsing-1.l"
    },
    {
      "type": "modify",
      "old_id": "ea402bca793fa35a060a8227c61c159bb2d20657",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/s390/machine-parsing-1.s",
      "new_id": "aa2a206a5fc1dd0a9ff723e2267aab86ce05bb86",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/s390/machine-parsing-1.s"
    }
  ]
}
