Skip to content

restoHack v1.1.1

Choose a tag to compare

@Critlist Critlist released this 31 Aug 06:49
· 56 commits to master since this release

restoHack v1.1.1

Downloads

  • Linux Static Binary: restoHack-v1.1.1-linux-x86_64-static.tar.gz

    • Statically linked, runs on any x86_64 Linux
    • No dependencies required
  • Source Code: restoHack-v1.1.1-source.tar.gz

    • Full source for building on any platform
    • Requires CMake, C compiler, and ncurses

Verification

Verify downloads with SHA256 checksums:

sha256sum -c SHA256SUMS

What's New

Added

  • Comprehensive security audit: Systematic review and hardening of all game logic files
  • Portability layer: Added compat.h for BSD function compatibility

Fixed

  • SECURITY: Fixed 150+ array bounds violations across all game systems
  • SECURITY: Added bounds checking to prevent buffer overflows
  • SECURITY: Fixed null pointer dereferences in monster, object, and room systems
  • SECURITY: Protected against integer overflow in tracking and scoring systems
  • SECURITY: Secured format string vulnerabilities in error reporting
  • SECURITY: Fixed memory corruption issues in worm segments and vault guards
  • CRITICAL: Strength overflow bug that could instantly kill players (eating spinach, potions)
  • CRITICAL: Coordinate sign conversion bugs causing wraparound issues
  • BUILD: Fixed format-nonliteral warnings with pragma directives
  • BUILD: Resolved index/rindex macro collisions with variable names

Changed

  • Removed index/rindex macros from hack.h, moved to compat.h
  • Renamed 'index' variable to 'idx' in makedefs.c to avoid collisions
  • Added format string validation to block dangerous %n specifier

Building from Source

tar xzf restoHack-v1.1.1-source.tar.gz
cd restoHack-v1.1.1
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/hack