Le 2016-11-24 05:14, Jeremie Courreges-Anglas a écrit :
Solène Rapenne <[email protected]> writes:
There is a bug in games/slash which can be annoying, I'm using
-current
at the moment of this mail. When you start the game and you want to
choose your character, whatever your pick, the game ends with abort
trap
like this (where I pick A) =>
An Archeologist, a Barbarian, a Caveman, [..], or a Wizard?
[A,B,C,D,E,F,G,H,I,K,L,M,N,P,R,S,T,U,V,W, or Q] AAbort trap
This does not simply stop the games (no process alive), it creates a
file named {a,b,c,d}lock.0 in the game dir. Once you reach a 4rd game
lock, the game will tell you that you "Too many hacks running now."
and
you can't play until you remove the .0 files.
It's a stack buffer overflow, the problem is that a 128 bytes buffer is
used to build a string that spans the terminal width. The crash
doesn't
trigger with a small terminal here, nor with the following patch. 1024
columns ought to be enough for anybody.
Index: Makefile
===================================================================
RCS file: /d/cvs/ports/games/slash/Makefile,v
retrieving revision 1.46
diff -u -p -r1.46 Makefile
--- Makefile 31 Mar 2015 09:44:48 -0000 1.46
+++ Makefile 24 Nov 2016 00:28:18 -0000
@@ -4,7 +4,7 @@ COMMENT = dungeon explorin', hackin' gam
DISTNAME = slash-e8
PKGNAME = slash-3.2.2.e8
-REVISION = 4
+REVISION = 5
CATEGORIES = games
MASTER_SITES = ftp://ftp.nethack.org/pub/nethack/oldver/3.2.2/src/ \
Index: patches/patch-include_global_h
===================================================================
RCS file: patches/patch-include_global_h
diff -N patches/patch-include_global_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-include_global_h 24 Nov 2016 02:51:17 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Bump QBUFSZ to cope for large terminals and avoid stack buffer
+overflows.
+
+--- include/global.h.orig Thu Nov 24 03:49:47 2016
++++ include/global.h Thu Nov 24 03:50:14 2016
+@@ -297,7 +297,7 @@ struct version_info {
+ #define DOORMAX 120 /* max number of doors per level */
+
+ #define BUFSZ 256 /* for getlin buffers */
+-#define QBUFSZ 128 /* for building question text */
++#define QBUFSZ 1024 /* for building question text */
+
+ #define PL_NSIZ 32 /* name of player, ghost, shopkeeper */
+ #define PL_CSIZ 32 /* sizeof pl_character */
Your patch fix my issue :-)
Also, it seems that ftp.nethack.org doesn't exist anymore, the hostname
is not resolvable