{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":353702035,"defaultBranch":"master","name":"imageinfo","ownerLogin":"xiaozhuai","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-04-01T13:02:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4773701?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706190149.0","currentOid":""},"activityList":{"items":[{"before":"a5b604d7af03ed8e6f4c9c3c9b6ea6d32c48f2b7","after":"d010e59f25867a0ee159143f8bf116f071d993b1","ref":"refs/heads/master","pushedAt":"2024-08-05T05:42:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add jph support","shortMessageHtmlLink":"Add jph support"}},{"before":"fecd6e9d886c596925ab453ffef9b16c8b540836","after":"a5b604d7af03ed8e6f4c9c3c9b6ea6d32c48f2b7","ref":"refs/heads/master","pushedAt":"2024-08-05T04:55:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix j2k format","shortMessageHtmlLink":"Fix j2k format"}},{"before":"34d3a5ec64f9b1a75b3f238de6ea353fde173640","after":"fecd6e9d886c596925ab453ffef9b16c8b540836","ref":"refs/heads/master","pushedAt":"2024-07-31T11:11:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add j2k support","shortMessageHtmlLink":"Add j2k support"}},{"before":"206a53a4c61763a992cc5a9c87d4fbafe5bcd315","after":"34d3a5ec64f9b1a75b3f238de6ea353fde173640","ref":"refs/heads/master","pushedAt":"2024-07-31T11:00:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add j2k support","shortMessageHtmlLink":"Add j2k support"}},{"before":"edadc4dd183fdd1b054f9b353f4148651de4afb3","after":"206a53a4c61763a992cc5a9c87d4fbafe5bcd315","ref":"refs/heads/master","pushedAt":"2024-07-31T08:13:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix jpg with exif orientation","shortMessageHtmlLink":"Fix jpg with exif orientation"}},{"before":"ab59f528705abe76e7da7ed7333596663e9af5b0","after":"edadc4dd183fdd1b054f9b353f4148651de4afb3","ref":"refs/heads/master","pushedAt":"2024-07-31T04:55:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add a tool link for parsing heif file.","shortMessageHtmlLink":"Add a tool link for parsing heif file."}},{"before":"4f317587d064c94643e1ed39121bf3847adbf096","after":"ab59f528705abe76e7da7ed7333596663e9af5b0","ref":"refs/heads/master","pushedAt":"2024-07-31T04:47:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix heic with multiple ispe box and irot box","shortMessageHtmlLink":"Fix heic with multiple ispe box and irot box"}},{"before":"649721b6040625393da5c91647b397ddaaafe4a2","after":"4f317587d064c94643e1ed39121bf3847adbf096","ref":"refs/heads/master","pushedAt":"2024-07-29T10:27:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Various security fixes (#15)\n\n* Fix buffer overflow issues in AVIF/HEIC parsing\r\n\r\n - Added checks to ensure buffer reads do not exceed the allocated size.\r\n - Verified minimum and maximum box sizes to prevent invalid data handling.\r\n - Ensured presence of 'ftyp' and 'meta' headers before parsing.\r\n - Improved error handling to prevent heap overflow.\r\n\r\n* fix code style\r\n\r\n* Prevent integer overflow when reading ftyp_box_length\r\n - Added checks to ensure `ftyp_box_length` is within a valid range and does not cause integer overflow.\r\n - Implemented a check to prevent `ftyp_box_length` from exceeding the maximum allowable size before adding any constants.\r\n - Ensured that `ftyp_box_length + 12` does not exceed the file length, preventing potential buffer overflow or memory access errors.\r\n\r\n* fix code style\r\n\r\n* Fix heap read overflow in PNG parsing function\r\n - Added checks to ensure that the buffer size is sufficient before accessing data, preventing potential heap read overflows.\r\n - Ensured that at least 24 bytes are available before accessing IHDR chunk information.\r\n - Validated buffer size to be at least 40 bytes when handling the CgBI chunk followed by IHDR.\r\n - These changes prevent accessing out-of-bounds memory, ensuring safe parsing of PNG files.\r\n\r\n* Fix std::stol overflow and invalid input handling in HDR parsing\r\n\r\n - Added checks to ensure that resolution strings contain only numeric characters before calling `std::stol`.\r\n - Implemented `is_numeric` function to validate that resolution parts are numeric.\r\n - Added `try-catch` block around `std::stol` to handle potential exceptions due to invalid input.\r\n - Ensured that parsed resolution values are positive integers, preventing invalid dimensions.\r\n - Improved boundary checks when extracting resolution strings from the header to avoid out-of-bounds errors.\r\n\r\nThese changes prevent heap read overflows and handle cases where resolution values contain illegal characters, ensuring safe and accurate parsing of HDR image files.\r\n\r\n* Fix std::out_of_range error in ICNS parsing function\r\n\r\n - Added a check using find before accessing size_map to ensure the key exists, preventing std::out_of_range exceptions.\r\n - Updated logic to handle cases where the ICNS type is not found in size_map by returning false.\r\n - Ensured that max_size and entry_sizes are only updated with valid data from size_map.\r\n - These changes prevent potential crashes due to accessing non-existent keys in the size map and improve the robustness of the ICNS file parsing.\r\n\r\n* Fix assertion failure in read_buffer due to out-of-bounds read\r\n\r\n - Added check and adjustment to `size` to ensure `offset + size` does not exceed `length_`, preventing out-of-bounds access.\r\n - Retained the assertion `assert(offset + size <= length_)` as a final check for data integrity.\r\n - Ensured that the buffer reading operations respect the boundaries of the available data, avoiding potential crashes or data corruption.\r\n - These changes address the assertion failure and improve the robustness of the `read_buffer` function.\r\n\r\n* Fix out-of-bounds read in TIFF parsing function\r\n\r\n - Added checks to ensure that the `offset` and `size` do not exceed the file length before reading data, preventing out-of-bounds access.\r\n - Verified that the buffer size is sufficient before processing TIFF directory entries.\r\n - Implemented additional checks to handle cases where the `offset` might lead to out-of-bounds reads, especially during the iteration through TIFF tags.\r\n - These changes improve the stability and security of the TIFF parsing function by preventing potential crashes and data corruption due to incorrect offsets.\r\n\r\n* Optimize code\r\n\r\n* Fix header\r\n\r\n* Add test case\r\n\r\n* Fix potential buffer overflow in try_avif_heic function\r\n\r\n - Added checks to ensure `offset + 8` does not exceed the end of the buffer before reading `box_size`.\r\n - Ensured that `offset + box_size` does not go beyond the buffer's end to prevent buffer overflows.\r\n - These changes prevent reading outside the allocated memory, which could lead to security vulnerabilities.\r\n\r\n* Fix duplicate if branch and add new test case\r\n\r\n* Fix crash in avif\r\n\r\n---------\r\n\r\nCo-authored-by: Weihang Ding <798047000@qq.com>","shortMessageHtmlLink":"Various security fixes (#15)"}},{"before":"4ebd47945688bff9127fb45b87346f5ffcb61064","after":"649721b6040625393da5c91647b397ddaaafe4a2","ref":"refs/heads/master","pushedAt":"2024-07-24T12:32:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix resolution parsing issue in HDR image header reading (#10)\n\n* Fix resolution parsing issue in HDR image header reading\r\n- Added safety checks for string to integer conversion.\r\n\r\n* Fix code style\r\n\r\n---------\r\n\r\nCo-authored-by: dehua \r\nCo-authored-by: Weihang Ding <798047000@qq.com>","shortMessageHtmlLink":"Fix resolution parsing issue in HDR image header reading (#10)"}},{"before":"649721b6040625393da5c91647b397ddaaafe4a2","after":"4ebd47945688bff9127fb45b87346f5ffcb61064","ref":"refs/heads/master","pushedAt":"2024-07-24T12:31:52.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix header","shortMessageHtmlLink":"Fix header"}},{"before":"d1e38b6e21911e8846421b1370889cd46d29bff5","after":"649721b6040625393da5c91647b397ddaaafe4a2","ref":"refs/heads/master","pushedAt":"2024-07-14T05:24:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix resolution parsing issue in HDR image header reading (#10)\n\n* Fix resolution parsing issue in HDR image header reading\r\n- Added safety checks for string to integer conversion.\r\n\r\n* Fix code style\r\n\r\n---------\r\n\r\nCo-authored-by: dehua \r\nCo-authored-by: Weihang Ding <798047000@qq.com>","shortMessageHtmlLink":"Fix resolution parsing issue in HDR image header reading (#10)"}},{"before":"319cd6339db52a266f4cad1a5ce73a1302c839be","after":"d1e38b6e21911e8846421b1370889cd46d29bff5","ref":"refs/heads/master","pushedAt":"2024-07-03T05:18:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Optimize hdr","shortMessageHtmlLink":"Optimize hdr"}},{"before":"e66a4955134732abde54d81139deb5d57519d710","after":"319cd6339db52a266f4cad1a5ce73a1302c839be","ref":"refs/heads/master","pushedAt":"2024-07-03T05:01:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix linux build","shortMessageHtmlLink":"Fix linux build"}},{"before":"04c494e1f6867b9a96ab34ef6db1536de0198485","after":"e66a4955134732abde54d81139deb5d57519d710","ref":"refs/heads/master","pushedAt":"2024-07-03T04:58:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Optimize hdr","shortMessageHtmlLink":"Optimize hdr"}},{"before":"241931a3112e3a375feef2fb2902030244281f3a","after":"04c494e1f6867b9a96ab34ef6db1536de0198485","ref":"refs/heads/master","pushedAt":"2024-05-27T11:32:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Optimize format code target","shortMessageHtmlLink":"Optimize format code target"}},{"before":"e712b6c0c1b38959f037df6b666337cc3b5a95f4","after":"241931a3112e3a375feef2fb2902030244281f3a","ref":"refs/heads/master","pushedAt":"2024-05-22T11:56:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Update .clang-format","shortMessageHtmlLink":"Update .clang-format"}},{"before":"8bd60ef7a7632b2cc6c17fe1de47e8d0f8ee8a67","after":"e712b6c0c1b38959f037df6b666337cc3b5a95f4","ref":"refs/heads/master","pushedAt":"2024-05-16T05:20:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix format warning in cli","shortMessageHtmlLink":"Fix format warning in cli"}},{"before":"d7816ef8a3e298c68ca5807bcb7cacb33db52160","after":"8bd60ef7a7632b2cc6c17fe1de47e8d0f8ee8a67","ref":"refs/heads/master","pushedAt":"2024-05-16T05:03:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix header include on ubuntu 24","shortMessageHtmlLink":"Fix header include on ubuntu 24"}},{"before":"f793709a454a5b2889ba25fe0a0cc18837f6c269","after":"d7816ef8a3e298c68ca5807bcb7cacb33db52160","ref":"refs/heads/master","pushedAt":"2024-05-16T05:01:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix header include on ubuntu 24","shortMessageHtmlLink":"Fix header include on ubuntu 24"}},{"before":"16d010e6bff46434c0e698778d4b85febe383a30","after":"f793709a454a5b2889ba25fe0a0cc18837f6c269","ref":"refs/heads/master","pushedAt":"2024-05-16T05:00:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix header include on ubuntu 24","shortMessageHtmlLink":"Fix header include on ubuntu 24"}},{"before":"f20f3f99e3a5d936043512516248664a4f1f110a","after":"16d010e6bff46434c0e698778d4b85febe383a30","ref":"refs/heads/master","pushedAt":"2024-05-16T04:53:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Optimize CI","shortMessageHtmlLink":"Optimize CI"}},{"before":"cec17f7d08526310870eca08842d92e1deb06a70","after":"f20f3f99e3a5d936043512516248664a4f1f110a","ref":"refs/heads/master","pushedAt":"2024-02-21T03:49:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Optimize parser (#9)\n\n* Optimize parser\r\n\r\n* Move into parse function\r\n\r\n* Move includes\r\n\r\n* Add greater than for clarity\r\n\r\n* Add dependents\r\n\r\n* Make jpx dependent on jp2\r\n\r\n* Allow user to pass in formats in any order\r\n\r\n* Optimize code\r\n\r\n* Check format order in enum and dl\r\n\r\n* Format code\r\n\r\n* Fix recursive template instantiation exceeded maximum depth\r\n\r\n* Fix check_format_order\r\n\r\n* Optimize\r\n\r\n* Fix must_be_one_of_likely_formats when most_likely_format is set and likely_formats is empty\r\n\r\n---------\r\n\r\nCo-authored-by: Weihang Ding <798047000@qq.com>","shortMessageHtmlLink":"Optimize parser (#9)"}},{"before":"b13c029b74bf5f0f9d24fb2a41266600a4fe9629","after":"cec17f7d08526310870eca08842d92e1deb06a70","ref":"refs/heads/master","pushedAt":"2024-02-19T04:13:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Fix a bug in hdr detector","shortMessageHtmlLink":"Fix a bug in hdr detector"}},{"before":"5b9a353fb8dd899bc01e38da0991a087a3b904c4","after":"b13c029b74bf5f0f9d24fb2a41266600a4fe9629","ref":"refs/heads/master","pushedAt":"2024-02-19T03:36:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add `most_likely_format` (#8)\n\n* Add `very_likely_format`\r\n\r\n* Make spaces consistent\r\n\r\n* Fix code style\r\n\r\n* Rename very_likely_format to most_likely_format\r\n\r\n---------\r\n\r\nCo-authored-by: Weihang Ding <798047000@qq.com>","shortMessageHtmlLink":"Add most_likely_format (#8)"}},{"before":"4e16e4f6ab2085eb246d23f37d1b007523c6f2a9","after":"5b9a353fb8dd899bc01e38da0991a087a3b904c4","ref":"refs/heads/master","pushedAt":"2024-02-18T04:18:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Make `imageinfo::parse` take input as const reference (#6)","shortMessageHtmlLink":"Make imageinfo::parse take input as const reference (#6)"}},{"before":"b0118c3b6ea6e3648577a3065e6d2496802a1ca9","after":"4e16e4f6ab2085eb246d23f37d1b007523c6f2a9","ref":"refs/heads/master","pushedAt":"2024-02-06T03:51:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Revert \"Add pnm support\"\n\nThis reverts commit b0118c3b6ea6e3648577a3065e6d2496802a1ca9.","shortMessageHtmlLink":"Revert \"Add pnm support\""}},{"before":"5a308db0db666bea0cf2cfda3d7a7a1d7bc71fb3","after":"b0118c3b6ea6e3648577a3065e6d2496802a1ca9","ref":"refs/heads/master","pushedAt":"2024-02-05T13:01:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add pnm support","shortMessageHtmlLink":"Add pnm support"}},{"before":"746819f192d83f481ab7b3511d8835c81ce523e3","after":"5a308db0db666bea0cf2cfda3d7a7a1d7bc71fb3","ref":"refs/heads/master","pushedAt":"2024-02-05T12:20:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add pnm support","shortMessageHtmlLink":"Add pnm support"}},{"before":"905543775a826ea55f561dea8f3f694c48b8cd71","after":"746819f192d83f481ab7b3511d8835c81ce523e3","ref":"refs/heads/master","pushedAt":"2024-02-05T11:14:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Add pnm support","shortMessageHtmlLink":"Add pnm support"}},{"before":"121959c75364a84f9965732636a41a541410d523","after":"905543775a826ea55f561dea8f3f694c48b8cd71","ref":"refs/heads/master","pushedAt":"2024-02-05T07:20:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaozhuai","name":"Weihang Ding","path":"/xiaozhuai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4773701?s=80&v=4"},"commit":{"message":"Optimize code","shortMessageHtmlLink":"Optimize code"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEkaqelQA","startCursor":null,"endCursor":null}},"title":"Activity ยท xiaozhuai/imageinfo"}