Merge March 2020 changes into NetHack 3.7

This commit is contained in:
nhmall
2020-03-06 10:59:50 -05:00
12 changed files with 86 additions and 44 deletions

2
Files
View File

@@ -136,7 +136,7 @@ vault.c version.c vision.c weapon.c were.c wield.c
windows.c wizard.c worm.c worn.c write.c zap.c
sys/amiga:
(files for Amiga versions - untested for 3.6.5)
(files for Amiga versions - untested for 3.6.6)
Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf
amidos.c amidos.p amifont.uu amifont8.uu amigst.c
amii.hlp amimenu.c amirip.c amistack.c amitty.c

4
README
View File

@@ -60,7 +60,7 @@ considered spoilers:
their individual fields and save those fields instead of the entire
struct
- savefile: use little-endian format for fields where that makes a difference
- - - - - - - - - - -
Please read items (1), (2) and (3) BEFORE doing anything with your new code.
@@ -213,6 +213,6 @@ In our own patches, we will assume that your code is synchronized with ours.
-- Good luck, and happy Hacking --
# $NHDT-Date: 1572309271 2019/10/29 00:34:31 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.57 $
# $NHDT-Date: 1583508658 2020/03/06 15:30:58 $ $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.80 $
# Copyright (c) 2012 by Michael Allison
# NetHack may be freely redistributed. See license for details.

View File

@@ -229,6 +229,9 @@ fix and a few bug fixes.
NetHack 3.6.5 was released on January 27, 2020 containing some security fixes
and a small number of bug fixes.
NetHack 3.6.6 was released on March 8, 2020 containing a security fix and
some bug fixes.
The official NetHack web site is maintained by Ken Lorber at
http://www.nethack.org/.

View File

@@ -1,4 +1,4 @@
.\" $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.372 $ $NHDT-Date: 1581817474 2020/02/16 01:44:34 $
.\" $NHDT-Branch: NetHack-3.7-Mar2020 $:$NHDT-Revision: 1.347 $ $NHDT-Date: 1583508684 2020/03/06 15:31:24 $
.\"
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
.\" Guidebook.mn currently does *not* fully adhere to these guidelines.
@@ -35,7 +35,7 @@
.ds vr "NetHack 3.7
.ds f0 "\*(vr
.ds f1
.ds f2 "February 17, 2020
.ds f2 "March 8, 2020
.
.\" A note on some special characters:
.\" \(lq = left double quote
@@ -5578,6 +5578,9 @@ and a few bug fixes.
NetHack 3.6.5 was released on January 27, 2020 containing some security fixes
and a small number of bug fixes.
.pg
NetHack 3.6.6 was released on March 8, 2020 containing a security fix and
some bug fixes.
.pg
The official NetHack web site is maintained by \fBKen Lorber\fP
at
.UR https://www.nethack.org/ .

View File

@@ -45,7 +45,7 @@
%.au
\author{Original version - Eric S. Raymond\\
(Edited and expanded for 3.7 by Mike Stephenson and others)}
\date{February 17, 2020}
\date{March 8, 2020}
\maketitle
@@ -6158,6 +6158,11 @@ a few bug fixes.
NetHack 3.6.5 was released on January 27, 2020 containing some security fixes
and a small number of bug fixes.
%.pg
\medskip
NetHack 3.6.6 was released on March 8, 2020 containing a security fix and
some bug fixes.
%.pg
\medskip
\nd The official {\it NetHack\/} web site is maintained by {\it Ken Lorber} at

View File

@@ -15,7 +15,7 @@
Original version - Eric S. Raymond
(Edited and expanded for 3.7 by Mike Stephenson and others)
February 17, 2020
March 4, 2020
@@ -6390,6 +6390,9 @@
NetHack 3.6.5 was released on January 27, 2020 containing
some security fixes and a small number of bug fixes.
NetHack 3.6.6 was released in March 2020 containing a secu-
rity fix.
The official NetHack web site is maintained by Ken Lorber at
https://www.nethack.org/.
@@ -6409,19 +6412,19 @@
12.1. SPECIAL THANKS
On behalf of the NetHack community, thank you very much once
again to M. Drew Streib and Pasi Kallinen for providing a public
NetHack server at nethack.alt.org. Thanks to Keith Simpson and
again to M. Drew Streib and Pasi Kallinen for providing a public
NetHack server at nethack.alt.org. Thanks to Keith Simpson and
Andy Thomson for hardfought.org. Thanks to all those unnamed dun-
geoneers who invest their time and effort into annual NetHack
tournaments such as Junethack, The November NetHack Tournament
geoneers who invest their time and effort into annual NetHack
tournaments such as Junethack, The November NetHack Tournament
and in days past, devnull.net (gone for now, but not forgotten).
- - - - - - - - - -
From time to time, some depraved individual out there in
netland sends a particularly intriguing modification to help out
From time to time, some depraved individual out there in
netland sends a particularly intriguing modification to help out
with the game. The NetHack Development Team sometimes makes note
of the names of the worst of these miscreants in this, the list
of the names of the worst of these miscreants in this, the list
of Dungeoneers:
Adam Aronow J. Ali Harlow Mikko Juola
Alex Kompel Janet Walz Nathan Eady
@@ -6479,7 +6482,7 @@
Irina Rempt-Drijfhout Mike Passaretti
Izchak Miller Mike Stephenson
Brand and product names are trademarks or registered trade-
Brand and product names are trademarks or registered trade-
marks of their respective holders.
@@ -6489,7 +6492,7 @@
NetHack 3.6 March 4, 2020
@@ -6530,5 +6533,3 @@
NetHack 3.7 February 17, 2020

View File

@@ -18,8 +18,8 @@ fix potential buffer overflow in choose_windows()
use vsnprintf instead of vsprintf in pline.c where possible
Fixes to Post-3.6.4 Problems that Were Exposed Via git Repository
------------------------------------------------------------------
Fixes to 3.6.5 Post-release Problems
------------------------------------
Platform- and/or Interface-Specific Fixes or Features

24
doc/fixes36.6 Normal file
View File

@@ -0,0 +1,24 @@
$NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.1 $ $NHDT-Date: 1583445339 2020/03/05 21:55:39 $
fixes36.6 contains a terse summary of changes made to 3.6.5 in order to
produce 3.6.6 as well as any post-release fixes in binaries.
General Fixes and Modified Features
-----------------------------------
invalid status highlight color could be maliciously used to corrupt memory
formatting corpse names used internal buffers differently from formatting
other objects and could potentially clobber memory
avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty
avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both
were empty when makedefs built 'rumors'
Platform- and/or Interface-Specific Fixes or Features
-----------------------------------------------------
General New Features
--------------------
none

View File

@@ -44,6 +44,15 @@
/****************************************************************************/
/* Version 3.6.x */
/* Patch 6, March 8, 2020
* invalid status highlight color could be maliciously used to corrupt memory
* formatting corpse names used internal buffers differently from formatting
* other objects and could potentially clobber memory
* avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty
* avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both
* were empty when makedefs built 'rumors'
*/
/* Patch 5, January 27, 2020
*
* fix accessing mons[-1] when trying to gate in a non-valid demon

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 rumors.c $NHDT-Date: 1582364450 2020/02/22 09:40:50 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.51 $ */
/* NetHack 3.7 rumors.c $NHDT-Date: 1583445339 2020/03/05 21:55:39 $ $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.38 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -147,9 +147,10 @@ boolean exclude_cookie;
couldnt_open_file(RUMORFILE);
g.true_rumor_size = -1; /* don't try to open it again */
}
/* this is safe either way, so do it always since we can't get the definition
* out of makedefs.c
*/
/* this is safe either way, so do it always since we can't get the
* definition out of makedefs.c
*/
#define PAD_RUMORS_TO
#ifdef PAD_RUMORS_TO
/* remove padding */
@@ -176,10 +177,8 @@ rumor_check()
char *endp, line[BUFSZ], xbuf[BUFSZ], rumor_buf[BUFSZ];
if (g.true_rumor_size < 0L) { /* we couldn't open RUMORFILE */
no_rumors:
no_rumors:
pline("rumors not accessible.");
if (rumors)
(void) dlb_fclose(rumors);
return;
}
@@ -192,28 +191,26 @@ rumor_check()
if (g.true_rumor_size == 0L) { /* if this is 1st outrumor() */
init_rumors(rumors);
if (g.true_rumor_size < 0L)
rumors = (dlb *) 0; /* init_rumors() closes it upon failure */
goto no_rumors; /* init failed */
}
}
tmpwin = create_nhwindow(NHW_TEXT);
/*
* reveal the values.
*/
Sprintf(
rumor_buf,
"T start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)",
(long) g.true_rumor_start, g.true_rumor_start, g.true_rumor_end,
(unsigned long) g.true_rumor_end, g.true_rumor_size,
(unsigned long) g.true_rumor_size);
Sprintf(rumor_buf,
"T start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)",
(long) g.true_rumor_start, g.true_rumor_start,
g.true_rumor_end, (unsigned long) g.true_rumor_end,
g.true_rumor_size,(unsigned long) g.true_rumor_size);
putstr(tmpwin, 0, rumor_buf);
Sprintf(
rumor_buf,
"F start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)",
(long) g.false_rumor_start, g.false_rumor_start, g.false_rumor_end,
(unsigned long) g.false_rumor_end, g.false_rumor_size,
(unsigned long) g.false_rumor_size);
Sprintf(rumor_buf,
"F start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)",
(long) g.false_rumor_start, g.false_rumor_start,
g.false_rumor_end,(unsigned long) g.false_rumor_end,
g.false_rumor_size,(unsigned long) g.false_rumor_size);
putstr(tmpwin, 0, rumor_buf);
/*

View File

@@ -1,2 +1,2 @@
*.p NHSUBST
* NH_filestag=(file%s_for_Amiga_versions_-_untested_for_3.6.5)
* NH_filestag=(file%s_for_Amiga_versions_-_untested_for_3.6.6)

View File

@@ -26,8 +26,8 @@ home directory you might perform these steps.
If you have old record and logfile entries from a previous NetHack version,
you might want to save copies before they get overwritten by the new empty
files; old saved games and bones files from 3.6.0 through to 3.6.4 should
work with 3.6.5 but even older saved games and bones files from 3.4.3 will
files; old saved games and bones files from 3.6.0 through to 3.6.5 should
work with 3.6.6 but even older saved games and bones files from 3.4.3 will
not. If you are installing from the RPM, there is no need to save the old
record and logfile; they are automatically preserved.