)]}'
{
  "commit": "3b42ec55103ed44aad6e9a20b65feb2f18c5e31e",
  "tree": "ab78c0ae17740bdff1d00e8d60a2e59a4d9456bd",
  "parents": [
    "848f1b3c5267d97460a2ad02c6dab4dc31b18df8"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Wed Oct 04 21:19:38 2017 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Wed Oct 04 21:19:38 2017 +0300"
  },
  "message": "Fixed handling of non-null-terminated unix sockets.\n\nAt least FreeBSD, macOS, NetBSD, and OpenBSD can return unix sockets\nwith non-null-terminated sun_path.  Additionally, the address may become\nnon-null-terminated if it does not fit into the buffer provided and was\ntruncated (may happen on macOS, NetBSD, and Solaris, which allow unix socket\naddresess larger than struct sockaddr_un).  As such, ngx_sock_ntop() might\noverread the sockaddr provided, as it used \"%s\" format and thus assumed\nnull-terminated string.\n\nTo fix this, the ngx_strnlen() function was introduced, and it is now used\nto calculate correct length of sun_path.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3bcd3e7996153814c2824aa85a769e2db876c430",
      "old_mode": 33188,
      "old_path": "src/core/ngx_inet.c",
      "new_id": "de681870b598a99a6b1bb969b08b92a6e8942500",
      "new_mode": 33188,
      "new_path": "src/core/ngx_inet.c"
    },
    {
      "type": "modify",
      "old_id": "de10a064d2e011b7eca8d59d6c44bf7023bb5f30",
      "old_mode": 33188,
      "old_path": "src/core/ngx_string.c",
      "new_id": "2ee07bfc82384516f7eadd579c9a59e822134f23",
      "new_mode": 33188,
      "new_path": "src/core/ngx_string.c"
    },
    {
      "type": "modify",
      "old_id": "7363bd242637c678d13ff5be82b2df0c46a06288",
      "old_mode": 33188,
      "old_path": "src/core/ngx_string.h",
      "new_id": "882ae7cea9b0585156d22b8d3e806f2c270980d1",
      "new_mode": 33188,
      "new_path": "src/core/ngx_string.h"
    }
  ]
}
