summaryrefslogtreecommitdiffstats
path: root/games/battlestar/save.c
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>1999-04-19 03:59:02 +0000
committersteve <steve@FreeBSD.org>1999-04-19 03:59:02 +0000
commitd59a3ca336bac3dac6ad8918ff6cb28fcbbba718 (patch)
treec2b57d23128f242645f8e3e16274a587229383ec /games/battlestar/save.c
parent390eb1b3d201760a5e8b76e2431c1f667648718f (diff)
downloadFreeBSD-src-d59a3ca336bac3dac6ad8918ff6cb28fcbbba718.zip
FreeBSD-src-d59a3ca336bac3dac6ad8918ff6cb28fcbbba718.tar.gz
Merge a bunch of cleanups from NetBSD.
PR: 8083 Submitted by: Stephen J. Roznowski <sjr@home.net> Obtained from: a whole slew of NetBSD PRs
Diffstat (limited to 'games/battlestar/save.c')
-rw-r--r--games/battlestar/save.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/games/battlestar/save.c b/games/battlestar/save.c
index df61213..9e44d70 100644
--- a/games/battlestar/save.c
+++ b/games/battlestar/save.c
@@ -40,6 +40,7 @@ static char sccsid[] = "@(#)save.c 8.1 (Berkeley) 5/31/93";
#include <sys/param.h> /* MAXPATHLEN */
#include <fcntl.h>
#include <stdlib.h>
+#include <err.h>
#include "externs.h"
void
@@ -93,7 +94,10 @@ restore()
fread(&loved, sizeof loved, 1, fp);
fread(&pleasure, sizeof pleasure, 1, fp);
fread(&power, sizeof power, 1, fp);
- fread(&ego, sizeof ego, 1, fp);
+ /* We must check the last read, to catch truncated save files. */
+ if (fread(&ego, sizeof ego, 1, fp) < 1)
+ errx(1, "save file %s too short", home1);
+ fclose(fp);
}
void
OpenPOWER on IntegriCloud