)]}'
{
  "commit": "7d863c0181064b08fa6b3816522551084fd91af5",
  "tree": "894636d6ad982e90eb061e8b3c62a905f1a7d70e",
  "parents": [
    "0e3b423dc6c6653d600f4bf1687f0653be04a830"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon May 14 09:13:45 2012 +0000"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon May 14 09:13:45 2012 +0000"
  },
  "message": "Resolver: protection from duplicate responses.\n\nIf we already had CNAME in resolver node (i.e. rn-\u003ecnlen and rn-\u003eu.cname\nset), and got additional response with A record, it resulted in rn-\u003ecnlen\nset and rn-\u003eu.cname overwritten by rn-\u003eu.addr (or rn-\u003eu.addrs), causing\nsegmentation fault later in ngx_resolver_free_node() on an attempt to free\noverwritten rn-\u003eu.cname.  The opposite (i.e. CNAME got after A) might cause\nsimilar problems as well.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ecf97d7f76393ccf2f22cfbd92151688841a1bcc",
      "old_mode": 33188,
      "old_path": "src/core/ngx_resolver.c",
      "new_id": "edc43dce21992da37188a1ed6cdea6561a60b30c",
      "new_mode": 33188,
      "new_path": "src/core/ngx_resolver.c"
    }
  ]
}
