{"id":22800936,"url":"https://github.com/ximaz/valgrind-action","last_synced_at":"2025-08-26T09:08:16.106Z","repository":{"id":238203869,"uuid":"796063983","full_name":"Ximaz/valgrind-action","owner":"Ximaz","description":"A GitHub action allowing you to check for memory leaks on your binaries, libraries and unit tests.","archived":false,"fork":false,"pushed_at":"2025-02-07T10:57:07.000Z","size":41,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-05T17:08:44.583Z","etag":null,"topics":["42projects","42school","ci","ci-cd","cicd","devops","devops-services","devops-tools","epitech","epitech-project","epitech-survival-kit","memleak","memleaks","memory-check","memory-leak","testing","tests","valgrind","valgrind-log-parsing","valgrind-tool"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ximaz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-04T20:35:08.000Z","updated_at":"2025-06-18T13:10:13.000Z","dependencies_parsed_at":"2024-05-04T23:25:19.852Z","dependency_job_id":"2a384044-f35e-4687-a570-ef4b03a66380","html_url":"https://github.com/Ximaz/valgrind-action","commit_stats":null,"previous_names":["ximaz/valgrind-action"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Ximaz/valgrind-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ximaz%2Fvalgrind-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ximaz%2Fvalgrind-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ximaz%2Fvalgrind-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ximaz%2Fvalgrind-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ximaz","download_url":"https://codeload.github.com/Ximaz/valgrind-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ximaz%2Fvalgrind-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272200572,"owners_count":24890816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42projects","42school","ci","ci-cd","cicd","devops","devops-services","devops-tools","epitech","epitech-project","epitech-survival-kit","memleak","memleaks","memory-check","memory-leak","testing","tests","valgrind","valgrind-log-parsing","valgrind-tool"],"created_at":"2024-12-12T08:08:28.169Z","updated_at":"2025-08-26T09:08:16.068Z","avatar_url":"https://github.com/Ximaz.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Valgrind Checker Action\n\nA GitHub Action for checking your memory management using [Valgrind](https://valgrind.org).\n\nThis Action will check for :\n- un`free`'d memory,\n- invalid `read` or `write` operations,\n- un`close`'d file descriptors (files and sockets),\n- invalid usage of `free`, `delete`, `delete []` or `realloc`,\n- uninitialised `syscall` params,\n- overlaps between sources and destinations for `memcpy`, `memmove`, etc...,\n- `fishy` arguments (possibly negative values) for `unsigned` expected,\n- memory allocation with a size of `0`,\n- invalid alignment values.\n\nIf you want to have more details about the errors this Action supports, you can\ncheck the [`4.2. Explanation of error messages from Memcheck`](https://valgrind.org/docs/manual/mc-manual.html) section.\n\n# Usage\n\n```yml\n-   uses: Ximaz/valgrind-action@v1.2.0\n    with:\n        # Either absolute or reative path to the binary you want to check the\n        # memory on.\n        binary_path: \"\"\n\n        # A string containing all the arguments to pass the the binary when it\n        # gets checked by Valgrind.\n        #\n        # Default: \"\"\n        binary_args: \"\"\n\n        # The value of the `LD_LIBRARY_PATH` environment variable so that the\n        # binary can be executed with your custom libraries, if any.\n        #\n        # Default: \"\"\n        ld_library_path: \"\"\n\n        # Redzone size used by Valgrind. It represents the blocks that Valgrind\n        # will check before, and after any allocated pointer so that it will\n        # look if you're trying to operate on those bytes, which you are not\n        # supposed to.\n        #\n        # Default: 16\n        redzone_size: 16\n\n        # Whether or not to track unclosed file descriptors.\n        # Default: true\n        track_file_descriptors: true\n\n        # Whether or not to treat error as warning. This implies that, if set\n        # to true, then the action will not exit with an error status, even if\n        # Valgrind found issues during the binary execution. Also, this implies\n        # that in your workflow summary, you will see warning annotations\n        # instead of error ones.\n        #\n        # Default: false\n        treat_error_as_warning: false\n\n        # Valgrind suppressions. If specified, the content will be written into\n        # a local file which will be passed to Valgrind. It represents a set of\n        # specific checks to avoid. For instance, you can avoid checks for a\n        # specific function, inside a specific program or library, etc...\n        # Foe more detail, you can check the `2.5. Suppressing errors` section\n        # on the Valgrind's documentation :\n        # https://valgrind.org/docs/manual/manual-core.html\n        #\n        # For each found error by Valgrind, a generated suppression will be\n        # logged inside your workflow's logs. That way, you will be able to see\n        # if any dependency, unrelated to your implementation, is faulty for\n        # not free'ing it's own memory or file descriptors.\n        #\n        # Generally, you want to avoid using this because you may tend to use\n        # it badly in order to suppress errors about your own implemnetations,\n        # so be careful.\n        #\n        # Default: \"\"\n        #\n        # The example below showcases how to avoid checking for the `free`\n        # function, inside the `main` function.\n        valgrind_suppressions: |\n            {\n                DontCheckFreeInMain\n                Memcheck:Free\n                fun:free\n                fun:main\n            }\n\n        # Whether or not Valgrind should be verbose. It may be useful in case\n        # you want to debug things.\n        #\n        # Default: false\n        verbose: false\n\n        # Limit the amount of time Valgrind runs before stopping the binary,\n        # specified in floating point with an optional suffix. A duration of 0\n        # disables the timeout.\n        #\n        # This can be useful to test or bound a long-running process.\n        #\n        # Optional suffix:\n        # - 's' for seconds (the default)\n        # - 'm' for minutes\n        # - 'h' for hours\n        # - 'd' for days\n        #\n        # Default: 0s\n        timeout: 0s\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fximaz%2Fvalgrind-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fximaz%2Fvalgrind-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fximaz%2Fvalgrind-action/lists"}