)]}'
{
  "commit": "eed6782cbb4651876e3c8b27ea53273f230ee8e2",
  "tree": "32dbefc809fa587dae518e197017a1a302bf2319",
  "parents": [
    "78eea6d4df149c01afd49256545191a8f0fe7a8e"
  ],
  "author": {
    "name": "Bruno Haible",
    "email": "bruno@clisp.org",
    "time": "Sat Oct 05 02:24:01 2024 +0200"
  },
  "committer": {
    "name": "Bruno Haible",
    "email": "bruno@clisp.org",
    "time": "Sat Oct 05 02:26:56 2024 +0200"
  },
  "message": "Fix undefined behaviour caused by shifting (unsigned char) \u003c\u003c 24.\n\nReported by Tim Sweet \u003ctsweet64@protonmail.com\u003e\nat \u003chttps://savannah.gnu.org/bugs/?66289\u003e.\n\n* lib/ucs4.h (ucs4_mbtowc): Cast \u0027unsigned char\u0027 values to ucs4_t before\nshifting them to the left.\n* lib/ucs4be.h (ucs4be_mbtowc): Likewise.\n* lib/ucs4le.h (ucs4le_mbtowc): Likewise.\n* lib/utf32.h (utf32_mbtowc): Likewise.\n* lib/utf32be.h (utf32be_mbtowc): Likewise.\n* lib/utf32le.h (utf32le_mbtowc): Likewise.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "467d642b349bbb64e4f68cf224f47dc8b0a37b37",
      "old_mode": 33188,
      "old_path": "ChangeLog",
      "new_id": "b57b3f0b2a257b0a74d98d7a9e9d836d4eaa8e52",
      "new_mode": 33188,
      "new_path": "ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "e7a0c37778434da3cb316ff6282122695103dbd8",
      "old_mode": 33188,
      "old_path": "lib/ucs4.h",
      "new_id": "4ec051f80bbdf186acbb1128d802bb2b0ed8835b",
      "new_mode": 33188,
      "new_path": "lib/ucs4.h"
    },
    {
      "type": "modify",
      "old_id": "2bbd8cf6972204926a3d0327f9020877cbc35737",
      "old_mode": 33188,
      "old_path": "lib/ucs4be.h",
      "new_id": "942878da7f234c5979ca522690ce11529a12ebcd",
      "new_mode": 33188,
      "new_path": "lib/ucs4be.h"
    },
    {
      "type": "modify",
      "old_id": "e1627c932bee384f2e6e051240e0261bea4ef370",
      "old_mode": 33188,
      "old_path": "lib/ucs4le.h",
      "new_id": "bd431c2a17dea967b4c7564cc8d08cf9716d1f13",
      "new_mode": 33188,
      "new_path": "lib/ucs4le.h"
    },
    {
      "type": "modify",
      "old_id": "9ed545447381d56c8d8cc6d7dd1fc5358fec5592",
      "old_mode": 33188,
      "old_path": "lib/utf32.h",
      "new_id": "4c11a89906c47aa9e42bc9a575ee5e37fcfeb27a",
      "new_mode": 33188,
      "new_path": "lib/utf32.h"
    },
    {
      "type": "modify",
      "old_id": "1d33772ecbe89e364162b583466acd2aed4f99b3",
      "old_mode": 33188,
      "old_path": "lib/utf32be.h",
      "new_id": "217706ee77dc9582acc330b27cc0514382ddb51a",
      "new_mode": 33188,
      "new_path": "lib/utf32be.h"
    },
    {
      "type": "modify",
      "old_id": "41cf550cec045255d0b46ebb829b3c308c3e2c48",
      "old_mode": 33188,
      "old_path": "lib/utf32le.h",
      "new_id": "2d44526e1db8bd4b32f67a029ad89397e264247a",
      "new_mode": 33188,
      "new_path": "lib/utf32le.h"
    }
  ]
}
