)]}'
{
  "commit": "658296290cc1be3739f0092d5afe719df5a88d82",
  "tree": "c8fa772a7c77092b01a834a23804d85219c01d34",
  "parents": [
    "ba290091cf2c369ae36c6c3845f770f85f1172e6"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Dec 13 16:05:59 2012 +0000"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Dec 13 16:05:59 2012 +0000"
  },
  "message": "Upstream: fixed SIGSEGV with the \"if\" directive.\n\nConfiguration like\n\n    location / {\n        set $true 1;\n\n        if ($true) {\n            proxy_pass http://backend;\n        }\n\n        if ($true) {\n            # nothing\n        }\n    }\n\nresulted in segmentation fault due to NULL pointer dereference as the\nupstream configuration wasn\u0027t initialized in an implicit location created\nby the last if(), but the r-\u003econtent_handler was set due to first if().\n\nInstead of committing a suicide by dereferencing a NULL pointer, return\n500 (Internal Server Error) in such cases, i.e. if uscf is NULL.  Better\nfix would be to avoid such cases by fixing the \"if\" directive handling,\nbut it\u0027s out of scope of this patch.\n\nProdded by Piotr Sikora.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "703017f542827d38bd68f0acc7a71f46ef12d0e4",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "5e04324d753546cb55e45905fdd00c53a37be95a",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    }
  ]
}
