From 4f6b2ebd825282937015efabbd35fc2cc6d992db Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 6 Mar 2016 21:17:37 +0300 Subject: Check allowed range for "View" field in item_db for weapon items. Also fix some array sizes. --- src/map/itemdb.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/map/itemdb.c') diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 27adc387b..73da34df1 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -1613,6 +1613,12 @@ int itemdb_validate_entry(struct item_data *entry, int n, const char *source) { memset(&entry->stack, '\0', sizeof(entry->stack)); } + if (entry->type == IT_WEAPON && (entry->look < 0 || entry->look >= MAX_SINGLE_WEAPON_TYPE)) { + ShowWarning("itemdb_validate_entry: Invalid View for weapon items. View value %d for item %d (%s) in '%s', defaulting to 1.\n", + entry->look, entry->nameid, entry->jname, source); + entry->look = 1; + } + entry->wlv = cap_value(entry->wlv, REFINE_TYPE_ARMOR, REFINE_TYPE_MAX); if( !entry->elvmax ) -- cgit v1.2.3-60-g2f50