)]}'
{
  "commit": "35e2bb0efbdac2d57a50a3e7e137085e25a5d1f3",
  "tree": "61e92506d28c1d01af9bc3817d212907317395dd",
  "parents": [
    "003b2cd720422e4349e8cf5d318a96e2d8962b3a"
  ],
  "author": {
    "name": "Markus Linnala",
    "email": "Markus.Linnala@cybercom.com",
    "time": "Fri Sep 20 17:57:21 2013 +0300"
  },
  "committer": {
    "name": "Markus Linnala",
    "email": "Markus.Linnala@cybercom.com",
    "time": "Fri Sep 20 17:57:21 2013 +0300"
  },
  "message": "Core: fix misallocation at ngx_crypt_apr1 (ticket #412).\n\nFound by using auth_basic.t from mdounin nginx-tests under valgrind.\n\n\u003d\u003d10470\u003d\u003d Invalid write of size 1\n\u003d\u003d10470\u003d\u003d    at 0x43603D: ngx_crypt_to64 (ngx_crypt.c:168)\n\u003d\u003d10470\u003d\u003d    by 0x43648E: ngx_crypt (ngx_crypt.c:153)\n\u003d\u003d10470\u003d\u003d    by 0x489D8B: ngx_http_auth_basic_crypt_handler (ngx_http_auth_basic_module.c:297)\n\u003d\u003d10470\u003d\u003d    by 0x48A24A: ngx_http_auth_basic_handler (ngx_http_auth_basic_module.c:240)\n\u003d\u003d10470\u003d\u003d    by 0x44EAB9: ngx_http_core_access_phase (ngx_http_core_module.c:1121)\n\u003d\u003d10470\u003d\u003d    by 0x44A822: ngx_http_core_run_phases (ngx_http_core_module.c:895)\n\u003d\u003d10470\u003d\u003d    by 0x44A932: ngx_http_handler (ngx_http_core_module.c:878)\n\u003d\u003d10470\u003d\u003d    by 0x455EEF: ngx_http_process_request (ngx_http_request.c:1852)\n\u003d\u003d10470\u003d\u003d    by 0x456527: ngx_http_process_request_headers (ngx_http_request.c:1283)\n\u003d\u003d10470\u003d\u003d    by 0x456A91: ngx_http_process_request_line (ngx_http_request.c:964)\n\u003d\u003d10470\u003d\u003d    by 0x457097: ngx_http_wait_request_handler (ngx_http_request.c:486)\n\u003d\u003d10470\u003d\u003d    by 0x4411EE: ngx_epoll_process_events (ngx_epoll_module.c:691)\n\u003d\u003d10470\u003d\u003d  Address 0x5866fab is 0 bytes after a block of size 27 alloc\u0027d\n\u003d\u003d10470\u003d\u003d    at 0x4A074CD: malloc (vg_replace_malloc.c:236)\n\u003d\u003d10470\u003d\u003d    by 0x43B251: ngx_alloc (ngx_alloc.c:22)\n\u003d\u003d10470\u003d\u003d    by 0x421B0D: ngx_malloc (ngx_palloc.c:119)\n\u003d\u003d10470\u003d\u003d    by 0x421B65: ngx_pnalloc (ngx_palloc.c:147)\n\u003d\u003d10470\u003d\u003d    by 0x436368: ngx_crypt (ngx_crypt.c:140)\n\u003d\u003d10470\u003d\u003d    by 0x489D8B: ngx_http_auth_basic_crypt_handler (ngx_http_auth_basic_module.c:297)\n\u003d\u003d10470\u003d\u003d    by 0x48A24A: ngx_http_auth_basic_handler (ngx_http_auth_basic_module.c:240)\n\u003d\u003d10470\u003d\u003d    by 0x44EAB9: ngx_http_core_access_phase (ngx_http_core_module.c:1121)\n\u003d\u003d10470\u003d\u003d    by 0x44A822: ngx_http_core_run_phases (ngx_http_core_module.c:895)\n\u003d\u003d10470\u003d\u003d    by 0x44A932: ngx_http_handler (ngx_http_core_module.c:878)\n\u003d\u003d10470\u003d\u003d    by 0x455EEF: ngx_http_process_request (ngx_http_request.c:1852)\n\u003d\u003d10470\u003d\u003d    by 0x456527: ngx_http_process_request_headers (ngx_http_request.c:1283)\n\u003d\u003d10470\u003d\u003d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "629d160e8f000c1325a4efe9c13b8df911437194",
      "old_mode": 33188,
      "old_path": "src/core/ngx_crypt.c",
      "new_id": "e2376c6f1e15db5720c979bba90e2f00a03de69d",
      "new_mode": 33188,
      "new_path": "src/core/ngx_crypt.c"
    }
  ]
}
