diff options
author | dholland <dholland@NetBSD.org> | 2009-06-29 23:05:33 +0000 |
---|---|---|
committer | dholland <dholland@NetBSD.org> | 2009-06-29 23:05:33 +0000 |
commit | d00a8d1e94456d45abbb7c94cd846661735277ab (patch) | |
tree | 5329ba2218576dbc5e41ed33677391627f69a23a /hack/hack.do_name.c | |
parent | fe1c4f849dd6242072352483d84870c6fcc974a7 (diff) | |
download | bsdgames-darwin-d00a8d1e94456d45abbb7c94cd846661735277ab.tar.gz bsdgames-darwin-d00a8d1e94456d45abbb7c94cd846661735277ab.tar.zst bsdgames-darwin-d00a8d1e94456d45abbb7c94cd846661735277ab.zip |
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
Diffstat (limited to 'hack/hack.do_name.c')
-rw-r--r-- | hack/hack.do_name.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/hack/hack.do_name.c b/hack/hack.do_name.c index 21ee4275..303330fd 100644 --- a/hack/hack.do_name.c +++ b/hack/hack.do_name.c @@ -1,4 +1,4 @@ -/* $NetBSD: hack.do_name.c,v 1.9 2009/06/07 20:13:18 dholland Exp $ */ +/* $NetBSD: hack.do_name.c,v 1.10 2009/06/29 23:05:33 dholland Exp $ */ /* * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, @@ -63,7 +63,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: hack.do_name.c,v 1.9 2009/06/07 20:13:18 dholland Exp $"); +__RCSID("$NetBSD: hack.do_name.c,v 1.10 2009/06/29 23:05:33 dholland Exp $"); #endif /* not lint */ #include <stdlib.h> @@ -279,7 +279,7 @@ xmonnam(struct monst *mtmp, int vb) gn = ghostnames[rn2(SIZE(ghostnames))]; if (!rn2(2)) (void) - strcpy((char *) mtmp->mextra, !rn2(5) ? plname : gn); + strlcpy((char *) mtmp->mextra, !rn2(5) ? plname : gn, mtmp->mxlth); } (void) snprintf(buf, sizeof(buf), "%s's ghost", gn); } |