{"push_id":1034052337,"size":8,"distinct_size":0,"ref":"refs/heads/branches/default","head":"3c48fd7c0544652c26b51a6a98e807165a3cd66a","before":"890ba54497f7b136adbd9e52edfab514c056672e","commits":[{"sha":"b94eb1dfe6d40acc4ff5ba61284be1279895c9ed","author":{"email":"1d34bc94f43612a49984dc716f5fceca7e8705b3@nginx.com","name":"Valentin Bartenev"},"message":"Core: moved logging before freeing large blocks of pool.\n\nThis fixes use-after-free memory access with enabled debug log\nwhen pool->log is allocated as a large block.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/b94eb1dfe6d40acc4ff5ba61284be1279895c9ed"},{"sha":"21dfe90a4e7015c0e6530208c2e6a4d8a9284ce1","author":{"email":"1d34bc94f43612a49984dc716f5fceca7e8705b3@nginx.com","name":"Valentin Bartenev"},"message":"Core: introduced the ngx_palloc_small() function.\n\nIt deduplicates some code for allocations from memory pool.\nNo functional changes.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/21dfe90a4e7015c0e6530208c2e6a4d8a9284ce1"},{"sha":"9d08bda415b9c987b7a3503bf5fa45cfda15df2e","author":{"email":"1d34bc94f43612a49984dc716f5fceca7e8705b3@nginx.com","name":"Valentin Bartenev"},"message":"Core: use ngx_palloc_small() to allocate ngx_pool_large_t.\n\nThis structure cannot be allocated as a large block anyway, otherwise that will\nresult in infinite recursion, since each large allocation requires to allocate\nanother ngx_pool_large_t.\n\nThe room for the structure is guaranteed by the NGX_MIN_POOL_SIZE constant.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/9d08bda415b9c987b7a3503bf5fa45cfda15df2e"},{"sha":"0f4315f998bfedbd478c8215994414f1526bfd40","author":{"email":"1d34bc94f43612a49984dc716f5fceca7e8705b3@nginx.com","name":"Valentin Bartenev"},"message":"Core: introduced the NGX_DEBUG_PALLOC macro.\n\nIt allows to turn off accumulation of small pool allocations into a big\npreallocated chunk of memory.  This is useful for debugging memory access\nwith sanitizer, since such accumulation can cover buffer overruns from\nbeing detected.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/0f4315f998bfedbd478c8215994414f1526bfd40"},{"sha":"98f222c6c115e578d95cf7cf4e657dac32d0f44c","author":{"email":"e6352b9f0d4044ca3c8abe0fa85370f6b8f92cc0@nginx.com","name":"Dmitry Volyntsev"},"message":"Resolver: introduced valid field in resolver responses.\n\nIt hints the amount of time a response could be considered\nas valid.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/98f222c6c115e578d95cf7cf4e657dac32d0f44c"},{"sha":"2b2fe92aaa84c89a36eb3a286f26c2499dc4e275","author":{"email":"e6352b9f0d4044ca3c8abe0fa85370f6b8f92cc0@nginx.com","name":"Dmitry Volyntsev"},"message":"Resolver: do not enable resolve timer if provided timeout is zero.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/2b2fe92aaa84c89a36eb3a286f26c2499dc4e275"},{"sha":"f625ad7ce80f66911e31bcd9a92729ad5d8d771f","author":{"email":"e6352b9f0d4044ca3c8abe0fa85370f6b8f92cc0@nginx.com","name":"Dmitry Volyntsev"},"message":"Resolver: added support for SRV records.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/f625ad7ce80f66911e31bcd9a92729ad5d8d771f"},{"sha":"3c48fd7c0544652c26b51a6a98e807165a3cd66a","author":{"email":"7ca75fd5b34e94325babd46a8829059262a08b31@nginx.com","name":"Roman Arutyunyan"},"message":"Stream: detect port absence in proxy_pass with IP literal.\n\nThis is a clone of http commit 26c127bab5ef.","distinct":false,"url":"https://api.github.com/repos/nginx/nginx/commits/3c48fd7c0544652c26b51a6a98e807165a3cd66a"}]}