)]}' { "commit": "eb6767273a4eb5d6f4ad528370d7262cf7aa220c", "tree": "2ab614985eb293f9e7bfa7c11db72b6f76eb8a67", "parents": [ "9f734b13f4ea062af98652c4c7678f667d2d85c7" ], "author": { "name": "skal", "email": "pascal.massimino@gmail.com", "time": "Mon Jul 29 15:22:06 2019 +0200" }, "committer": { "name": "Cosmin Truta", "email": "ctruta@gmail.com", "time": "Mon Apr 27 00:16:36 2020 -0400" }, "message": "Fix memory leak if eXIf has incorrect crc\n\nProblem description:\nImagine a bitstream with an eXIf data segment that has invalid CRC.\nIf png_crc_finish() fails at line 2090, info_ptr-\u003eeXIf_buf is not freed\n(despite the free_me setting at line 2062) because png_free_data() is\nnot called. png_read_info() is actually looping several time over the\npng_eXIf chunk, calling png_handle_eXIf() several time in a row without\nfreeing the buffer.\n\nThis patch fixes the problem by leaving info_ptr\u0027s content in a clean\nstate in case of failure, as it is done at line 2084.\n", "tree_diff": [ { "type": "modify", "old_id": "d5fa08c397d1413e8de83ddafc0f0839de5e71f8", "old_mode": 33188, "old_path": "pngrutil.c", "new_id": "4db3de990bdce019813c6cdecd4acad2eac214dd", "new_mode": 33188, "new_path": "pngrutil.c" } ] }