{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":419982199,"defaultBranch":"master","name":"pcre2","ownerLogin":"carenas","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-10-22T05:55:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/76036?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1727057089.0","currentOid":""},"activityList":{"items":[{"before":"91961b3319d0b525c1e68587faa794849ba4086d","after":"cb04c63880114bf4cc872408a997e0ca3eb39b13","ref":"refs/heads/debugass","pushedAt":"2024-09-23T04:05:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"ci: upgrade build linux job to latest Ubuntu\n\nMost of the uses of `PCRE2_UNREACHABLE(0)` are at the end of `case`\nand therefore in non debug builds, the assertion \"should\" tell\nthe compiler that a \"fall back\" is not possible, but the version\nof gcc used in Ubuntu 22.04 has a bug and will instead see the\nassertion as additional code that doesn't have a `break` after\nand therefore trigger `-Wimplicit-fallthrough` warnings instead.\n\nUpdate the job to use Ubuntu 24.04 that provides gcc 13.2 and\nthat doesn't have the bug anymore, and while at it update all\njobs to error on warnings so that failures will be more visible.","shortMessageHtmlLink":"ci: upgrade build linux job to latest Ubuntu"}},{"before":"5e75d9baac9cdb279abae1cb12223d7579f3ef96","after":"bc367f1880ae5ccc771d5780e35df4c42744a9c4","ref":"refs/heads/master","pushedAt":"2024-09-23T03:35:49.000Z","pushType":"push","commitsCount":28,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: avoid 1 byte buffer overread parsing VERBs (#487)\n\nAs reported recently by ef218fb (Guard against out-of-bounds memory\r\naccess when parsing LIMIT_HEAP et al (#463), 2024-09-07), a malformed\r\npattern could result in reading 1 byte past its end.\r\n\r\nFix a similar issue that affects all VERBs and add test cases to\r\nensure the original bug and all its siblings are no longer an issue.\r\n\r\nWhile at it fix the wording of the related documentation.","shortMessageHtmlLink":"pcre2_compile: avoid 1 byte buffer overread parsing VERBs (PCRE2Proje…"}},{"before":"19e1afbc03169456eada884b16924ac3c24689d4","after":"9b7da422a6a47fcde3e870bb6f7e59f6408e31bb","ref":"refs/heads/newerass","pushedAt":"2024-09-23T03:21:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"ci: improve","shortMessageHtmlLink":"ci: improve"}},{"before":"48d131bb1f9f7350a85b9017a6ffba8f471fdc0d","after":"19e1afbc03169456eada884b16924ac3c24689d4","ref":"refs/heads/newerass","pushedAt":"2024-09-23T03:00:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"ci: improve","shortMessageHtmlLink":"ci: improve"}},{"before":null,"after":"48d131bb1f9f7350a85b9017a6ffba8f471fdc0d","ref":"refs/heads/newerass","pushedAt":"2024-09-23T02:04:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"reimplement asserts with better focus in debug mode\n\nThe original asserts weren't very useful in debug mode as they\nwere lacking information on where they were being triggered and\nwere also unreliable and dangerous as they could result in\nimportant code being removed and trigger crashes.\n\nInstead of implementing one generic assert for both modes, build\na more useful one for each mode, but to make sure that the non\nproduction paths are not being unnecessarily eliminated, allow\nfor a parameter that could be used to indicate if that functionality\nis desired or not.\n\nReinstate all original assertions to use that instead, and make\nsure to set the parameter to a safe value in the one that is known\nto cause problems with the previous code.","shortMessageHtmlLink":"reimplement asserts with better focus in debug mode"}},{"before":"4794b404098932aa66326fae8491aba0c207737e","after":"d73162bb6fb986d2edf950f584c36599fa53c45e","ref":"refs/heads/deadtrap","pushedAt":"2024-09-22T17:14:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_convert: fix return value again and refactor for clarity\n\nSince 4f6c43d (Add assertion macros, use new PCRE2_UNREACHABLE\nassertion at unreachable points in code (#446), 2024-08-28) and\nthen again after 04dc664 (Implement PCRE2_UNREACHABLE assertion\nfor MS Visual C++ (#465), 2024-09-10), this API could return\nrandom values on failure.\n\nRemove assertion, until it could be added back in a way that\nwouldn't trigger a crash in non debug builds or result in the\nfunction returning without an API expected value.","shortMessageHtmlLink":"pcre2_convert: fix return value again and refactor for clarity"}},{"before":"eaf79b142f88ecb04264765a185fc5b01a4c1f38","after":"91961b3319d0b525c1e68587faa794849ba4086d","ref":"refs/heads/debugass","pushedAt":"2024-09-22T10:22:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"reintroduce some of the assertions\n\nThis time after verifying they are all safe and avoiding to\nadd indentation issues that might obscure their scope.","shortMessageHtmlLink":"reintroduce some of the assertions"}},{"before":null,"after":"eaf79b142f88ecb04264765a185fc5b01a4c1f38","ref":"refs/heads/debugass","pushedAt":"2024-09-22T10:00:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"Reimplement assertions as a debug tool\n\nThe original implementations used compiler builtins that had the\nsideeffect of triggering the optimizer for dead code elimination\nand where therefore not safe to use in some cases.\n\nInstead, make a simple implementation that will be only implemented\nin debug mode, and that does the same through the use of abort()\nwith a NORETURN attribute.","shortMessageHtmlLink":"Reimplement assertions as a debug tool"}},{"before":"3163f0cee1403efcb99cc97bad63b87c14681ce3","after":null,"ref":"refs/heads/optflags","pushedAt":"2024-09-22T08:53:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":"bd0080eb1c3c06d8f7f4f14d7a07642453b7a3b6","after":null,"ref":"refs/heads/verbovrflow","pushedAt":"2024-09-22T08:53:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":null,"after":"4794b404098932aa66326fae8491aba0c207737e","ref":"refs/heads/deadtrap","pushedAt":"2024-09-22T07:56:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_convert: fix return value again and refactor for clarity\n\nSince 4f6c43d (Add assertion macros, use new PCRE2_UNREACHABLE\nassertion at unreachable points in code (#446), 2024-08-28) and\nthen again after 04dc664 (Implement PCRE2_UNREACHABLE assertion\nfor MS Visual C++ (#465), 2024-09-10), this API could return\nrandom values on failure.\n\nRemove assertion, and refactor the code slightly so it is more\nclear why the apparent dead code is needed.","shortMessageHtmlLink":"pcre2_convert: fix return value again and refactor for clarity"}},{"before":"67a04ba229f89b054e40ac96f44b728a0fafbe3c","after":"bd0080eb1c3c06d8f7f4f14d7a07642453b7a3b6","ref":"refs/heads/verbovrflow","pushedAt":"2024-09-22T05:23:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: avoid 1 byte buffer overread parsing VERBs\n\nAs reported recently by ef218fb (Guard against out-of-bounds memory\naccess when parsing LIMIT_HEAP et al (#463), 2024-09-07), a malformed\npattern could result in reading 1 byte past its end.\n\nFix a similar issue that affects all VERBs and add test cases to\nensure the original bug and all its siblings are no longer an issue.\n\nWhile at it fix the wording of the related documentation.","shortMessageHtmlLink":"pcre2_compile: avoid 1 byte buffer overread parsing VERBs"}},{"before":null,"after":"67a04ba229f89b054e40ac96f44b728a0fafbe3c","ref":"refs/heads/verbovrflow","pushedAt":"2024-09-21T20:15:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: avoid 1 byte buffer overread parsing VERBs\n\nAs reported recently by ef218fb (Guard against out-of-bounds memory\naccess when parsing LIMIT_HEAP et al (#463), 2024-09-07), a malformed\npattern could result in reading 1 byte past its end.\n\nFix a similar issue that affects all VERBs and add test cases to\nensure the original bug and all its siblings are no longer an issue.\n\nWhile at it fix the wording of the related documentation.","shortMessageHtmlLink":"pcre2_compile: avoid 1 byte buffer overread parsing VERBs"}},{"before":null,"after":"3163f0cee1403efcb99cc97bad63b87c14681ce3","ref":"refs/heads/optflags","pushedAt":"2024-09-21T15:41:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"doc: include summary of directives in pcre2_set_optimize.3\n\nMake the documentation of the new API more useful at a first glance\nby providing the list of values that can be used while keeping all\ndetails in pcre2api.3, and just like it is done in other similar pages.\n\nWhile at it reorder the entries for the directives in pcre2api.3 so it\nis more natural and to match the one used here.","shortMessageHtmlLink":"doc: include summary of directives in pcre2_set_optimize.3"}},{"before":"e006b51b8047d33cae1fb13db03b723429a89014","after":null,"ref":"refs/heads/issue484","pushedAt":"2024-09-21T13:37:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":"d9a058af49c0b1150e2eb14a6e048107591e5bf1","after":"e006b51b8047d33cae1fb13db03b723429a89014","ref":"refs/heads/issue484","pushedAt":"2024-09-20T19:11:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"Do not use __builtin_unreachable() in PCRE2_ASSERT()\n\n__builting_unreachable() implementation is not defined and has\nbeen known to not trigger failures under some compilers.\n\nDefault instead to using assert(), which has the added benefit\nof printing a descriptive message and it is also likely more\nportable as it is part of ANSI C.\n\nWhile at it, really allow configuring builtins with cmake.","shortMessageHtmlLink":"Do not use __builtin_unreachable() in PCRE2_ASSERT()"}},{"before":"be6086e86827da806b3d64e4754612bb51cacf16","after":null,"ref":"refs/heads/octal-fix","pushedAt":"2024-09-20T14:04:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":null,"after":"d9a058af49c0b1150e2eb14a6e048107591e5bf1","ref":"refs/heads/issue484","pushedAt":"2024-09-20T13:57:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"Do not use __builtin_unreachable() in PCRE2_ASSERT()\n\n__builting_unreachable() implementation is not defined and has\nbeen known to not trigger failures under some compilers.\n\nDefault instead to using assert(), which has the added benefit\nof printing a descriptive message and it is also likely more\nportable as it is part of ANSI C.","shortMessageHtmlLink":"Do not use __builtin_unreachable() in PCRE2_ASSERT()"}},{"before":"7db58f117c601849122cdeae2f8f7910cb9dbde8","after":"be6086e86827da806b3d64e4754612bb51cacf16","ref":"refs/heads/octal-fix","pushedAt":"2024-09-20T12:34:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: advance erroroffset to end of number on overflow\n\nMake the reported erroroffset from a failure originating in\nread_number() more acurate.\n\nWhile at it, do some cleanup on recent code that made the issue\nmore evident.","shortMessageHtmlLink":"pcre2_compile: advance erroroffset to end of number on overflow"}},{"before":"efc959fe11d042ae84a4bb8a88ed1294a9aec54c","after":null,"ref":"refs/heads/optflags","pushedAt":"2024-09-19T23:27:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":"743fe363d4ef8476c030b4767b6f788ec56cf855","after":"7db58f117c601849122cdeae2f8f7910cb9dbde8","ref":"refs/heads/octal-fix","pushedAt":"2024-09-19T21:17:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: advance erroroffset to end of number on overflow\n\nMake the reported erroroffset from a failure originating in\nread_number() more acurate.\n\nWhile at it, do some cleanup on recent code that made the issue\nmore evident.","shortMessageHtmlLink":"pcre2_compile: advance erroroffset to end of number on overflow"}},{"before":"e3134e7f6d0ae12330e273b18e43737e0f599d5a","after":"743fe363d4ef8476c030b4767b6f788ec56cf855","ref":"refs/heads/octal-fix","pushedAt":"2024-09-19T21:15:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: advance erroroffset to end of number on overflow\n\nMake the reported erroroffset from a failure originating in\nread_number() more acurate.\n\nWhile at it, do some cleanup on recent code that made the issue\nmore evident.","shortMessageHtmlLink":"pcre2_compile: advance erroroffset to end of number on overflow"}},{"before":null,"after":"50d20beadbc8cdcdaa48da51fc11e1cbf40b06b4","ref":"refs/heads/proposed-optflags","pushedAt":"2024-09-19T18:14:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"Make pcre2_set_optimize() consistent with PCRE2_LITERAL","shortMessageHtmlLink":"Make pcre2_set_optimize() consistent with PCRE2_LITERAL"}},{"before":null,"after":"efc959fe11d042ae84a4bb8a88ed1294a9aec54c","ref":"refs/heads/optflags","pushedAt":"2024-09-19T08:51:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"tidy up pcre2_set_optimize() documentation\n\nAdd missing parentheses\nReword ambiguous mention of \"this\"\nAdd missing \"\\n\" at end of file","shortMessageHtmlLink":"tidy up pcre2_set_optimize() documentation"}},{"before":"f5fcaeaa9db125a2f1402783d2b003b36f0f856d","after":null,"ref":"refs/heads/win","pushedAt":"2024-09-18T17:14:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":"2c4a165ff6915fd98c21f6499b821704f8eadf06","after":"e3134e7f6d0ae12330e273b18e43737e0f599d5a","ref":"refs/heads/octal-fix","pushedAt":"2024-09-18T17:08:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: advance erroroffset to end of number on overflow\n\nMake the reported erroroffset from a failure originating in\nread_number() more acurate.\n\nWhile at it, do some cleanup on recent code that made the issue\nmore evident.","shortMessageHtmlLink":"pcre2_compile: advance erroroffset to end of number on overflow"}},{"before":"656cd0656f8ea1b4df907b5947f7f216c386a63d","after":null,"ref":"refs/heads/testwin","pushedAt":"2024-09-18T07:17:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"}},{"before":null,"after":"656cd0656f8ea1b4df907b5947f7f216c386a63d","ref":"refs/heads/testwin","pushedAt":"2024-09-18T06:19:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"ci: add basic Windows DEV job\n\nRename the original 32bit job and add a basic 64bit one that\navoids the code that is still not warning free.\n\nWhile at it, refactor a recent compile fix to avoid a runtime\nassert.","shortMessageHtmlLink":"ci: add basic Windows DEV job"}},{"before":"bd3fe7efd2bb90890a7600c1cd4f3b1f5423d182","after":"f5fcaeaa9db125a2f1402783d2b003b36f0f856d","ref":"refs/heads/win","pushedAt":"2024-09-18T05:03:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"ci: add basic Windows DEV job\n\nRename the original 32bit job and add a basic 64bit one that\navoids the code that is still not warning free.\n\nWhile at it, refactor a recent compile fix to avoid a runtime\nassert.","shortMessageHtmlLink":"ci: add basic Windows DEV job"}},{"before":"3a35d0427151f726eab4ee08a8acdca3e1919350","after":"fd6b107043701d8610fd70a2a7eb7af9cca407ed","ref":"refs/heads/full-octal-fix","pushedAt":"2024-09-17T17:51:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"carenas","name":"Carlo Marcelo Arenas Belón","path":"/carenas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76036?s=80&v=4"},"commit":{"message":"pcre2_compile: tighten recent changes\n\nThe code intended to error for numbers that were bigger than\nMAX_GROUP_NUMBER so change the previous max value to match.\n\nDocument the previous limit with an assert, as it is required\nto avoid integer overflow and while at it change the variable\nused to reference the character being checked for consistency.","shortMessageHtmlLink":"pcre2_compile: tighten recent changes"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwNDowNTo0OC4wMDAwMDBazwAAAAS9htMV","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QwNDowNTo0OC4wMDAwMDBazwAAAAS9htMV","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QxNzo1MToyMC4wMDAwMDBazwAAAAS41YVs"}},"title":"Activity · carenas/pcre2"}