Mercurial > hg > early-roguelike
comparison arogue5/rogue.c @ 310:827441d05b3e
Advanced Rogue family: fix some potential buffer overflows.
Some code for determining the score file location assumed that PATH_MAX
would be less than 1024, which cannot be guaranteed.
Advanced Rogue 5 and 7, and XRogue, have had the buffers for the file
name enlarged. UltraRogue never called the functions, so the code has
been deleted instead.
author | John "Elwin" Edwards |
---|---|
date | Mon, 03 May 2021 19:05:37 -0400 |
parents | 0250220d8cdd |
children |
comparison
equal
deleted
inserted
replaced
309:11aeff9acc07 | 310:827441d05b3e |
---|---|
11 * | 11 * |
12 * See the file LICENSE.TXT for full copyright and licensing information. | 12 * See the file LICENSE.TXT for full copyright and licensing information. |
13 */ | 13 */ |
14 | 14 |
15 #include <ctype.h> | 15 #include <ctype.h> |
16 #include <limits.h> | |
16 #include "curses.h" | 17 #include "curses.h" |
17 #include "rogue.h" | 18 #include "rogue.h" |
18 | 19 |
19 /* | 20 /* |
20 * Now all the global variables | 21 * Now all the global variables |
83 char *r_guess[MAXRINGS]; /* Players guess at what ring is */ | 84 char *r_guess[MAXRINGS]; /* Players guess at what ring is */ |
84 char *ws_guess[MAXSTICKS]; /* Players guess at what wand is */ | 85 char *ws_guess[MAXSTICKS]; /* Players guess at what wand is */ |
85 char *m_guess[MAXMM]; /* Players guess at what MM is */ | 86 char *m_guess[MAXMM]; /* Players guess at what MM is */ |
86 char *ws_type[MAXSTICKS]; /* Is it a wand or a staff */ | 87 char *ws_type[MAXSTICKS]; /* Is it a wand or a staff */ |
87 char file_name[256]; /* Save file name */ | 88 char file_name[256]; /* Save file name */ |
88 char score_file[LINELEN]; /* Score file name */ | 89 char score_file[PATH_MAX]; /* Score file name */ |
89 char home[LINELEN]; /* User's home directory */ | 90 char home[LINELEN]; /* User's home directory */ |
90 WINDOW *cw; /* Window that the player sees */ | 91 WINDOW *cw; /* Window that the player sees */ |
91 WINDOW *hw; /* Used for the help command */ | 92 WINDOW *hw; /* Used for the help command */ |
92 WINDOW *mw; /* Used to store mosnters */ | 93 WINDOW *mw; /* Used to store mosnters */ |
93 WINDOW *msgw; /* Used to display messages */ | 94 WINDOW *msgw; /* Used to display messages */ |