diff options
Diffstat (limited to 'src/loadsave.c')
-rw-r--r-- | src/loadsave.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/loadsave.c b/src/loadsave.c index 287eabd8..74b5112c 100644 --- a/src/loadsave.c +++ b/src/loadsave.c @@ -577,17 +577,20 @@ static bool_ do_extra(int flag) do_s16b(&p_ptr->chaos_patron, flag); - if (flag == LS_SAVE) tmp16s = max_corruptions; + if ((flag == LS_SAVE)) { tmp16s = CORRUPTIONS_MAX; } do_s16b(&tmp16s, flag); + if (tmp16s > CORRUPTIONS_MAX) { + quit("Too many corruptions"); + } for (i = 0; i < tmp16s; i++) { - if ((flag == LS_SAVE) && (i < max_corruptions)) + if ((flag == LS_SAVE)) tmp8u = p_ptr->corruptions[i]; do_byte(&tmp8u, flag); - if ((flag == LS_LOAD) && (i < max_corruptions)) + if ((flag == LS_LOAD)) p_ptr->corruptions[i] = tmp8u; } |