This series fixes URL cache filename generation when URLs contain overly long file extensions. CreateUrlCacheEntryW has no output buffer size parameter, so the generated cache path must remain within MAX_PATH; overly long extensions are now ignored instead of being appended to a path that cannot safely fit. URLDownloadToCacheFileA/W now uses the caller-provided output buffer length correctly, includes the null terminator in bounds checks, and removes temporary cache files when download or cache commit fails. Regression tests were added for both WinINet cache entry creation and URLMon cache download paths to cover long extension handling, buffer boundary checks, and stale temporary file cleanup. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11255