From f413248d7917f874d09333799f8b7d2a417c618a Mon Sep 17 00:00:00 2001 From: nhw_cron Date: Tue, 14 Jan 2020 22:17:28 -0500 Subject: [PATCH 1/4] This is cron-daily v1-Jan-14-2020. files updated: Files --- Files | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Files b/Files index bec5794e8..9d409319b 100644 --- a/Files +++ b/Files @@ -114,7 +114,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.4) +(files for Amiga versions - untested for 3.6.5) 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 amisnd.c amistack.c @@ -125,12 +125,12 @@ winfuncs.c winkey.c winmenu.c winproto.h winreq.c winstr.c xpm2iff.c sys/atari: -(files for Atari version - untested for 3.6.4) +(files for Atari version - untested for 3.6.5) Install.tos atarifnt.uue nethack.mnu setup.g tos.c unx2atar.sed sys/be: -(files for BeOS version - untested for 3.6.4) +(files for BeOS version - untested for 3.6.5) README bemain.c sys/mac: @@ -143,7 +143,7 @@ macwin.c mgetline.c mmodal.c mrecover.c mrecover.hqx mttymain.c sys/msdos: -(files for MSDOS version - tested for 3.6.4 via partial cross-compile only) +(files for MSDOS version) Install.dos Makefile.BC Makefile.GCC Makefile.MSC Makefile1.cross Makefile2.cross SCHEMA35.MSC moveinit.pat msdos.c msdoshlp.txt ovlinit.c pckeys.c @@ -156,7 +156,7 @@ vidtxt.c vidvesa.c vidvga.c nhico.uu nhpif.uu sys/os2: -(files for OS/2 version - untested for 3.6.4) +(files for OS/2 version - untested for 3.6.5) Install.os2 Makefile.os2 nhpmico.uu os2.c sys/share: @@ -166,10 +166,10 @@ random.c (Berkeley uudecode file, which may be used in build process of any version) uudecode.c -(file for MSDOS, OS/2, Amiga, and Atari versions - untested for 3.6.4) +(file for MSDOS, OS/2, Amiga, and Atari versions - untested for 3.6.5) pcmain.c -(file for MSDOS, OS/2, and Atari versions - untested for 3.6.4) +(file for MSDOS, OS/2, and Atari versions - untested for 3.6.5) NetHack.cnf pctty.c (file for MSDOS, OS/2, and VMS versions) @@ -181,10 +181,10 @@ nhlan.c (file for VMS version) tclib.c -(files for MSDOS and OS/2 versions - untested for 3.6.4) +(files for MSDOS and OS/2 versions - untested for 3.6.5) Makefile.lib termcap.uu -(files for MSDOS, OS/2 and Atari versions - tested on MSDOS for 3.6.4 via partial cross-compile only) +(files for MSDOS, OS/2 and Atari versions - tested on MSDOS for 3.6.5 via partial cross-compile only) pcsys.c pcunix.c (files for UNIX and Be versions) @@ -254,7 +254,7 @@ spec_lev.com sysconf vmsbuild.com vmsfiles.c vmsmail.c vmsmain.c vmsmisc.c vmstty.c vmsunix.c sys/wince: -(files for Windows CE and PocketPC - untested for 3.6.4) +(files for Windows CE and PocketPC - untested for 3.6.5) Install.ce bootstrp.mak celib.c cesetup.bat cesound.c defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h mhcmd.c mhcmd.h mhcolor.c mhcolor.h mhdlg.c @@ -267,7 +267,7 @@ resource.h winMS.h winhack.c winhack.rc winhcksp.rc winmain.c sys/wince/ceinc: -(header files for Windows CE and PocketPC - untested for 3.6.4) +(header files for Windows CE and PocketPC - untested for 3.6.5) assert.h errno.h fcntl.h sys/wince/ceinc/sys: @@ -333,12 +333,12 @@ cursinit.h cursinvt.c cursinvt.h cursmain.c cursmesg.c cursmesg.h cursmisc.c cursmisc.h cursstat.c cursstat.h curswins.c curswins.h win/gem: -(files for GEM versions - untested for 3.6.4) +(files for GEM versions - untested for 3.6.5) Install.gem bitmfile.c gem_rsc.uu gem_rso.uu gr_rect.c gr_rect.h load_img.c tile2img.c title.uu wingem.c wingem1.c xpm2img.c win/gnome: -(files for GNOME versions - untested for 3.6.4) +(files for GNOME versions - untested for 3.6.5) README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c gnbind.h gnglyph.c gnglyph.h gnmain.c gnmain.h gnmap.c gnmap.h gnmenu.c gnmenu.h gnmesg.c gnmesg.h gnomeprv.h gnopts.c From c8fbb3b7b1ad6f57f085c89732892ecf3f5855f5 Mon Sep 17 00:00:00 2001 From: nhw_cron Date: Tue, 14 Jan 2020 22:17:28 -0500 Subject: [PATCH 2/4] This is cron-daily v1-Jan-14-2020. guidebook updated: doc/Guidebook.txt --- doc/Guidebook.txt | 212 +++++++++++++++++++++++----------------------- 1 file changed, 106 insertions(+), 106 deletions(-) diff --git a/doc/Guidebook.txt b/doc/Guidebook.txt index 4d50ed951..d1927889d 100644 --- a/doc/Guidebook.txt +++ b/doc/Guidebook.txt @@ -15,7 +15,7 @@ Original version - Eric S. Raymond (Edited and expanded for 3.6 by Mike Stephenson and others) - December 18, 2019 + January 14, 2020 @@ -126,7 +126,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -192,7 +192,7 @@ you have seen on the current dungeon level; as you explore more - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -258,7 +258,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -324,7 +324,7 @@ Intelligence affects your ability to cast spells and read - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -390,7 +390,7 @@ ical attacks. Many dungeons show only your experience level - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -456,7 +456,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -522,7 +522,7 @@ nasty and vicious. Sometimes, however, they can be helpful. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -588,7 +588,7 @@ symbol at the chosen location, conditionally check for "More - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -654,7 +654,7 @@ if you remember a monster there). - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -720,7 +720,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -786,7 +786,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -852,7 +852,7 @@ once you've closed this menu. The available options are - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -918,7 +918,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -984,7 +984,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1050,7 +1050,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1116,7 +1116,7 @@ (R)UNIX is a registered trademark of The Open Group. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1182,7 +1182,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1248,7 +1248,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1314,7 +1314,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1380,7 +1380,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1446,7 +1446,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1512,7 +1512,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1578,7 +1578,7 @@ When picking a target with cursor and the autodescribe - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1644,7 +1644,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1710,7 +1710,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1776,7 +1776,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1842,7 +1842,7 @@ the `^D' (kick) command. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1908,7 +1908,7 @@ on the corresponding staircase at your destination. However, - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -1974,7 +1974,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2040,7 +2040,7 @@ member a monster but want to try fighting anyway, you can use the - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2106,7 +2106,7 @@ ers (or even former incarnations of yourself!) and their personal - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2172,7 +2172,7 @@ ter. Many commands that operate on objects must ask you to find - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2238,7 +2238,7 @@ In some cases "uncursed" will be omitted as being redundant when - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2304,7 +2304,7 @@ to taking off other worn items. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2370,7 +2370,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2436,7 +2436,7 @@ ondary is just an item in your inventory that's been designated - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2502,7 +2502,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2568,7 +2568,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2634,7 +2634,7 @@ the wall, you might decide to go for broke and break your wand. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2700,7 +2700,7 @@ cation rather than just specify a particular direction. Other - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2766,7 +2766,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2832,7 +2832,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2898,7 +2898,7 @@ brains while polymorphed into a mind flayer, is considered eating - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -2964,7 +2964,7 @@ type ("polypiling") or the form of your own body into another - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3030,7 +3030,7 @@ tion, and are ignored unless a CHOOSE statement was used to - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3096,7 +3096,7 @@ pletion has no effect for the X11 windowport. You can specify - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3162,7 +3162,7 @@ "Configuring User Sounds" section. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3228,7 +3228,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3294,7 +3294,7 @@ tion controls whether the description includes map coordinates. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3360,7 +3360,7 @@ was defined during compilation. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3426,7 +3426,7 @@ display for end-of-game disclosure follows a set sequence. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3492,7 +3492,7 @@ "no", you will exclude that gender from being picked randomly. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3558,7 +3558,7 @@ sistent. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3624,7 +3624,7 @@ fault `\'. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3690,7 +3690,7 @@ Prompt for new form whenever any monster changes shape (default - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3756,7 +3756,7 @@ Valid settings are: - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3822,7 +3822,7 @@ item. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3888,7 +3888,7 @@ (Default `S'). Persistent. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -3954,7 +3954,7 @@ be set with the `O' command. Persistent. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4020,7 +4020,7 @@ off). Persistent. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4086,7 +4086,7 @@ only; "X11" interface always uses a timer based delay. The - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4152,7 +4152,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4218,7 +4218,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4284,7 +4284,7 @@ If NetHack can, it should use this size font for text windows. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4350,7 +4350,7 @@ Number of lines for traditional below-the-map status display. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4416,7 +4416,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4482,7 +4482,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4548,7 +4548,7 @@ pressions. It is possible to compile NetHack without regular - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4614,7 +4614,7 @@ key can be a single character ("x"), a control key ("^X", "C-x"), - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4680,7 +4680,7 @@ When asked for a location, the key to toggle autodescribe. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4746,7 +4746,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4812,7 +4812,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4878,7 +4878,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -4944,7 +4944,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5010,7 +5010,7 @@ cyan, gray, orange, light-green, yellow, light-blue, light- - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5076,7 +5076,7 @@ value changes upwards or downwards. This attribute times - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5142,7 +5142,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5208,7 +5208,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5274,7 +5274,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5340,7 +5340,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5406,7 +5406,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5472,7 +5472,7 @@ may want to alter settings via SYMBOLS= and ROGUESYMBOLS= in your - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5538,7 +5538,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5604,7 +5604,7 @@ spectively, to identify unique people for the score file. - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5670,7 +5670,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5736,7 +5736,7 @@ a very different game, and published (at least) three versions - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5802,7 +5802,7 @@ 3.1 for the Macintosh, porting it for MPW. Building on their - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5868,7 +5868,7 @@ ber, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -5934,7 +5934,7 @@ ginning of a long release hiatus. 3.4.3 proved to be a remarkably - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -6000,7 +6000,7 @@ - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -6041,32 +6041,32 @@ NetHack 3.6.4 was released on December 18, 2019 containing a security fix and a few bug fixes. + NetHack 3.6.5 was released in January, 2020 containing some + security fixes and a small number of bug fixes. + The official NetHack web site is maintained by Ken Lorber at https://www.nethack.org/. 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 - - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 @@ -6076,6 +6076,8 @@ + Adam Aronow J. Ali Harlow Mikko Juola + Alex Kompel Janet Walz Nathan Eady Alex Smith Janne Salmijarvi Norm Meluch Andreas Dorn Jean-Christophe Collet Olaf Seibert Andy Church Jeff Bailey Pasi Kallinen @@ -6117,7 +6119,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. @@ -6130,9 +6132,7 @@ - - - NetHack 3.6 December 18, 2019 + NetHack 3.6 January 14, 2020 From f4ab235b81050ae32ea58074c7186657828cf7c1 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Fri, 20 Dec 2019 15:16:12 +0200 Subject: [PATCH 3/4] Prevent accessing outside the mons array Fix another out-of-bounds error Monster trying to decide if a tin could cure stoning looking at a special or empty tin would do acidic(&mons[-1]) --- doc/fixes36.5 | 2 ++ src/minion.c | 12 ++++++++---- src/muse.c | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/doc/fixes36.5 b/doc/fixes36.5 index 9085747ab..b024d3320 100644 --- a/doc/fixes36.5 +++ b/doc/fixes36.5 @@ -7,6 +7,8 @@ produce 3.6.5 as well as any post-release fixes in binaries. General Fixes and Modified Features ----------------------------------- have string_for_opt() return empty_optstr on failure +fix accessing mons[-1] when trying to gate in a non-valid demon +fix accessing mons[-1] when monster figures out if a tin cures stoning ensure existing callers of string_for_opt() check return value before using it fix potential buffer overflow in add_menu_coloring() fix potential buffer overflow in sym_val() diff --git a/src/minion.c b/src/minion.c index fa37a5480..4277b4587 100644 --- a/src/minion.c +++ b/src/minion.c @@ -78,11 +78,13 @@ struct monst *mon; if (is_dprince(ptr) || (ptr == &mons[PM_WIZARD_OF_YENDOR])) { dtype = (!rn2(20)) ? dprince(atyp) : (!rn2(4)) ? dlord(atyp) : ndemon(atyp); - cnt = (!rn2(4) && is_ndemon(&mons[dtype])) ? 2 : 1; + cnt = ((dtype != NON_PM) + && !rn2(4) && is_ndemon(&mons[dtype])) ? 2 : 1; } else if (is_dlord(ptr)) { dtype = (!rn2(50)) ? dprince(atyp) : (!rn2(20)) ? dlord(atyp) : ndemon(atyp); - cnt = (!rn2(4) && is_ndemon(&mons[dtype])) ? 2 : 1; + cnt = ((dtype != NON_PM) + && !rn2(4) && is_ndemon(&mons[dtype])) ? 2 : 1; } else if (is_ndemon(ptr)) { dtype = (!rn2(20)) ? dlord(atyp) : (!rn2(6)) ? ndemon(atyp) : monsndx(ptr); @@ -91,7 +93,8 @@ struct monst *mon; dtype = (is_lord(ptr) && !rn2(20)) ? llord() : (is_lord(ptr) || !rn2(6)) ? lminion() : monsndx(ptr); - cnt = (!rn2(4) && !is_lord(&mons[dtype])) ? 2 : 1; + cnt = ((dtype != NON_PM) + && !rn2(4) && !is_lord(&mons[dtype])) ? 2 : 1; } else if (ptr == &mons[PM_ANGEL]) { /* non-lawful angels can also summon */ if (!rn2(6)) { @@ -107,7 +110,8 @@ struct monst *mon; } else { dtype = PM_ANGEL; } - cnt = (!rn2(4) && !is_lord(&mons[dtype])) ? 2 : 1; + cnt = ((dtype != NON_PM) + && !rn2(4) && !is_lord(&mons[dtype])) ? 2 : 1; } if (dtype == NON_PM) diff --git a/src/muse.c b/src/muse.c index 772a01777..2dfb92f3f 100644 --- a/src/muse.c +++ b/src/muse.c @@ -2325,6 +2325,8 @@ boolean tinok; if (obj->otyp != CORPSE && (obj->otyp != TIN || !tinok)) return FALSE; /* corpse, or tin that mon can open */ + if (obj->corpsenm == NON_PM) /* empty/special tin */ + return FALSE; return (boolean) (obj->corpsenm == PM_LIZARD || (acidic(&mons[obj->corpsenm]) && (obj->corpsenm != PM_GREEN_SLIME From a8208b44c8c6183beede4a25e4b75ff0e29daf29 Mon Sep 17 00:00:00 2001 From: nhmall Date: Thu, 16 Jan 2020 10:18:37 -0500 Subject: [PATCH 4/4] fixes update --- doc/fixes36.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/fixes36.5 b/doc/fixes36.5 index b024d3320..54bb65f72 100644 --- a/doc/fixes36.5 +++ b/doc/fixes36.5 @@ -6,9 +6,9 @@ produce 3.6.5 as well as any post-release fixes in binaries. General Fixes and Modified Features ----------------------------------- -have string_for_opt() return empty_optstr on failure fix accessing mons[-1] when trying to gate in a non-valid demon fix accessing mons[-1] when monster figures out if a tin cures stoning +have string_for_opt() return empty_optstr on failure ensure existing callers of string_for_opt() check return value before using it fix potential buffer overflow in add_menu_coloring() fix potential buffer overflow in sym_val()