diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-03-30 21:10:18 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-03-30 21:10:18 +0300 |
commit | 2c9c1e2eb8e74a6f8d9765993365648555ddf9b0 (patch) | |
tree | b2f83e8dda892954898205526bd0d4796ba52641 /src/emap/data | |
parent | b826af28255cbd69318929aeb06b4164feed5588 (diff) | |
download | evol-hercules-2c9c1e2eb8e74a6f8d9765993365648555ddf9b0.tar.gz evol-hercules-2c9c1e2eb8e74a6f8d9765993365648555ddf9b0.tar.bz2 evol-hercules-2c9c1e2eb8e74a6f8d9765993365648555ddf9b0.tar.xz evol-hercules-2c9c1e2eb8e74a6f8d9765993365648555ddf9b0.zip |
Add missing checks.
Diffstat (limited to 'src/emap/data')
-rw-r--r-- | src/emap/data/mapd.c | 3 | ||||
-rw-r--r-- | src/emap/data/mobd.c | 2 | ||||
-rw-r--r-- | src/emap/data/session.c | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/emap/data/mapd.c b/src/emap/data/mapd.c index e7f7ee4..52440d7 100644 --- a/src/emap/data/mapd.c +++ b/src/emap/data/mapd.c @@ -19,6 +19,9 @@ struct MapdExt *mapd_get(int m) { + if (m < 0 || m >= map->count) + return NULL; + struct map_data *md = &map->list[m]; struct MapdExt *data = getFromMAPD(md, 0); if (!data) diff --git a/src/emap/data/mobd.c b/src/emap/data/mobd.c index 0df31e7..e3a6c34 100644 --- a/src/emap/data/mobd.c +++ b/src/emap/data/mobd.c @@ -34,7 +34,7 @@ struct MobdExt *mobd_get(struct mob_db *md) struct MobdExt *mobd_get_by_mob(TBL_MOB *md) { - if (!mob) + if (!md) return NULL; return mobd_get(mob->db_data[md->class_]); diff --git a/src/emap/data/session.c b/src/emap/data/session.c index dea86e6..33ddb41 100644 --- a/src/emap/data/session.c +++ b/src/emap/data/session.c @@ -19,6 +19,8 @@ struct SessionExt *session_get(int fd) { + if (fd < 0) + return NULL; struct SessionExt *data = getFromSession(sockt->session[fd], 0); if (!data) { |