)]}'
{
  "commit": "baa239c4870ba2236aeb8c54b892dd25d43d780a",
  "tree": "17e1e5b2c97e57cfd012e9b14109916cd419d17b",
  "parents": [
    "bd6d421816f6e317eec512620a51aa0521288405"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Fri Apr 06 23:46:09 2012 +0000"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Fri Apr 06 23:46:09 2012 +0000"
  },
  "message": "Fixed signed integer overflows in timer code (ticket #145).\n\nInteger overflow is undefined behaviour in C and this indeed caused\nproblems on Solaris/SPARC (at least in some cases).  Fix is to\nsubtract unsigned integers instead, and then cast result to a signed\none, which is implementation-defined behaviour and used to work.\n\nStrictly speaking, we should compare (unsigned) result with the maximum\nvalue of the corresponding signed integer type instead, this will be\ndefined behaviour.  This will require much more changes though, and\nconsidered to be overkill for now.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ae4d5c05abb49594383f3347419490b71b58b18",
      "old_mode": 33188,
      "old_path": "src/core/ngx_rbtree.c",
      "new_id": "914ca7e884b06b2ebbdc801ff6590923b6744168",
      "new_mode": 33188,
      "new_path": "src/core/ngx_rbtree.c"
    },
    {
      "type": "modify",
      "old_id": "7a8107209308ede4b796539055208bacf13b932b",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_timer.c",
      "new_id": "177ac1cf113a06834fb7cf19f71a29249b7328e5",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_timer.c"
    }
  ]
}
