{"ref":"refs/heads/master","commits":[{"author":{"name":"Adam Kocoloski","email":"84dedad896942fa331ae1eb69cf485f9813c1519@apache.org"},"url":"https://api.github.com/repos/cloudant/bigcouch/commits/7c94ebbf91f2c61b109af53cdbae530e79424849","message":"Fix retrieval of headers larger than 4k\n\nOur headers start with a <<1>> and then four bytes indicating the length\nof the header and its checksum. When the header is larger than 4090\nbytes it will be split across multiple blocks in the file and will need\nto be reassembled on read. The reassembly consists of stripping out\n<<0>> from the beginning of each subsequent block in the\nremove_block_prefixes/2 function. The bug here is that we tell\nremove_block_prefixes that we're starting 1 byte into the current block\ninstead of 5, so it ends up removing one good byte from the header and\ninjecting one or more random <<0>>s.\n\nHeaders larger than 4k are very rare and generally require a view group\nwith a huge number of indexes or indexes with fairly large reductions,\nwhich explains why this bug has gone undetected until now.\n\nCloses COUCHDB-1319.","sha":"7c94ebbf91f2c61b109af53cdbae530e79424849"}],"head":"7c94ebbf91f2c61b109af53cdbae530e79424849","size":1,"push_id":48148107}