diff options
author | steve <steve@FreeBSD.org> | 1999-04-19 03:59:02 +0000 |
---|---|---|
committer | steve <steve@FreeBSD.org> | 1999-04-19 03:59:02 +0000 |
commit | d59a3ca336bac3dac6ad8918ff6cb28fcbbba718 (patch) | |
tree | c2b57d23128f242645f8e3e16274a587229383ec /games/battlestar/save.c | |
parent | 390eb1b3d201760a5e8b76e2431c1f667648718f (diff) | |
download | FreeBSD-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.c | 6 |
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 |