Skip to content

Fix startup crash from over-long "Speak Hylian" stat name - #6995

Open
bassdr wants to merge 1 commit into
HarbourMasters:developfrom
bassdr:fix/gameplaystats-hylian-overflow
Open

Fix startup crash from over-long "Speak Hylian" stat name#6995
bassdr wants to merge 1 commit into
HarbourMasters:developfrom
bassdr:fix/gameplaystats-hylian-overflow

Conversation

@bassdr

@bassdr bassdr commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Bug

Booting aborts before the main menu on any _FORTIFY_SOURCE build:

SetupDisplayNames() -> __strcpy_chk -> abort (signal 6)
GameplayStatsWindow::InitElement()

Cause

itemTimestampDisplayName rows are char[24], sized for the 23-character column the rest of the table uses. #6978 corrected the typo "SpeakHylian:" -> "Speak Hylian:" but kept the original trailing padding, so the string became 24 chars + NUL = 25 bytes and overflows its buffer. strcpy then aborts via __strcpy_chk during GUI init. Unfortified builds overrun by one byte silently and still boot, which is why CI didn't catch it.

Fix

Drop one trailing space so the entry is back to the 23-character column (matching "Speak Kokiri:", "Speak Goron:", etc.). No other row exceeds 23 characters.

🤖 Generated with Claude Code

Build Artifacts

itemTimestampDisplayName rows are char[24], sized for the 23-char column the
table uses. HarbourMasters#6978 corrected "SpeakHylian:" to "Speak Hylian:" but kept the
original padding, making the string 24 chars + NUL = 25 bytes. That overflows
the buffer, so the strcpy in SetupDisplayNames aborts (__strcpy_chk) at GUI
init on any _FORTIFY_SOURCE build, crashing before the main menu. Drop one
trailing space to restore the 23-char column.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bassdr

bassdr commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

@serprex this is crashing the game right at startup for me, 100% repro. #6978 caused it...

@djevangelia

Copy link
Copy Markdown
Contributor

@serprex this is crashing the game right at startup for me, 100% repro. #6978 caused it...

He's probably away doing something summery or so and just come by to keep tabs on what's happening, I'm sure he will merge it in a few days or so. 🌞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants