fix: round 2 audit fixes, updated emulator profiles

Scripts:
- fix generate_site nav regex destroying mkdocs.yml content
- fix auto_fetch comma-separated MD5 in find_missing
- fix verify print_platform_result conflating untested/missing
- fix validate_pr path traversal and symlink check
- fix batocera_scraper brace counting and escaped quotes in strings
- fix emudeck_scraper hash search crossing function boundaries
- fix pipeline.py cwd to repo root via Path(__file__)
- normalize SHA1 comparison to lowercase in generate_pack

Emulator profiles:
- emux_gb/nes/sms: reclassify from alias to standalone profiles
- ep128emu: remove .info-only files not referenced in source
- fbalpha2012 variants: full source-verified profiles
- fbneo_cps12: add new profile
This commit is contained in:
Abdessamad Derraz
2026-03-19 15:00:18 +01:00
parent 38d605c7d5
commit 257ec1a527
19 changed files with 483 additions and 82 deletions

View File

@@ -227,8 +227,10 @@ class Scraper(BaseScraper):
continue
system = FUNCTION_HASH_MAP[func_name]
func_start = func_match.start()
remaining = script[func_start:]
local_match = _RE_LOCAL_HASHES.search(remaining)
next_func = _RE_FUNC.search(script, func_match.end())
func_end = next_func.start() if next_func else len(script)
func_body = script[func_start:func_end]
local_match = _RE_LOCAL_HASHES.search(func_body)
if local_match:
hashes_raw = local_match.group(1)
hashes = [h.strip() for h in hashes_raw.split() if h.strip()]