mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-05-13 16:37:27 +00:00
Timing-safe comparisons: - crypto.c: Replace memcmp with CRYPTO_memcmp for Secret equality, require equal lengths before comparing - remote_control.py: Constant-time password lookup to avoid leaking valid passwords via dict hash timing - file_transmission.py: Use hmac.compare_digest for bypass token comparison instead of == Memory safety: - child-monitor.c: Fix inverted condition in write_to_peer that prevented memmove from ever executing on partial writes - ibus_glfw.c: Null-terminate IBUS_ADDRESS copy to prevent string overread when strlen >= PATH_MAX - x11_window.c: Add NULL checks after realloc in clipboard/DnD data handling (two sites) - dnd.c: Cap accepted_mimes at 1MB to prevent unbounded growth, fix realloc to not lose the original pointer on failure - png-reader.c: Cast to size_t before multiplication to prevent integer overflow on 32-bit platforms Secrets hygiene: - disk-cache.c: Zero encryption_key with explicit_bzero before free Tar extraction hardening: - tar.go: Validate hardlink targets against destination prefix to prevent writing outside extraction directory - tar.go: Strip setuid/setgid/sticky bits from extracted files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| base85 | ||
| humanize | ||
| images | ||
| paths | ||
| random | ||
| secrets | ||
| shlex | ||
| style | ||
| atexit.go | ||
| atomic-write.go | ||
| cache.go | ||
| cached_values.go | ||
| clock_with_raw.go | ||
| clock_without_raw.go | ||
| colors.go | ||
| download_file.go | ||
| embed.go | ||
| filelock.go | ||
| filelock_test.go | ||
| hostname.go | ||
| io.go | ||
| iso8601.go | ||
| iso8601_test.go | ||
| levenshtein.go | ||
| longest-common.go | ||
| longest-common_test.go | ||
| mimetypes.go | ||
| misc.go | ||
| passwd.go | ||
| passwd_test.go | ||
| paths.go | ||
| regexp.go | ||
| ring.go | ||
| ring_test.go | ||
| select.go | ||
| select_posix.go | ||
| select_without_pselect.go | ||
| set.go | ||
| shell.go | ||
| short-uuid.go | ||
| short-uuid_test.go | ||
| sockets.go | ||
| sockets_test.go | ||
| stream_decompressor.go | ||
| stream_decompressor_test.go | ||
| strings.go | ||
| strings_test.go | ||
| tar.go | ||
| tar_test.go | ||
| tmpfile_linux.go | ||
| tmpfile_others.go | ||
| tpmfile_test.go | ||
| types.go | ||
| unsafe.go | ||
| utf-8.go | ||
| which.go | ||