fix github issue #832 - "nethack --nethackrc=file"

Issue reported by schauveau:  when the command line specifies the
'--nethackrc=file' option (Unix, including linux and OSX, only) the
value of 'file' was set in pointer g.cmdline_rcfile and the options
parsing made a copy of that pointer rather than of what it pointed
to, then freed g.cmdline_rcfile before using the copy.  So it ended
up using a pointer to freed memory.

Stick with copying the pointer but defer freeing the original until
after its copy is no longer needed.

Fixes #832
This commit is contained in:
PatR
2022-08-02 15:07:20 -07:00
parent f4d0e99fad
commit c7a467701f
2 changed files with 6 additions and 1 deletions

View File

@@ -1331,6 +1331,9 @@ when one monster swallowed/engulfed another and killed it, impossible
"placing <mon> over itself ..." could be given by place_monster()
if the game crashed or the process was killed, recovering a save file ended
up with incorrect stairway connections between levels
when using --nethackrc=file on the command line (currently only implemented
for ports that use unixmain.c), options parsing freed the string
containing 'file' before using it as the RC file name
curses: 'msg_window' option wasn't functional for curses unless the binary
also included tty support