summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/char/char.c2
-rw-r--r--src/char/geoip.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 1d9d1d65c..f1bacbeb3 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -1461,7 +1461,7 @@ bool char_char_slotchange(struct char_session_data *sd, int fd, unsigned short f
struct mmo_charstatus char_dat;
int from_id = 0;
- if( from > MAX_CHARS || to > MAX_CHARS || ( sd->char_slots && to > sd->char_slots ) || sd->found_char[from] <= 0 )
+ if( from >= MAX_CHARS || to >= MAX_CHARS || ( sd->char_slots && to > sd->char_slots ) || sd->found_char[from] <= 0 )
return false;
if( !chr->mmo_char_fromsql(sd->found_char[from], &char_dat, false) ) // Only the short data is needed.
diff --git a/src/char/geoip.c b/src/char/geoip.c
index 4fe03ab07..e5b77af1f 100644
--- a/src/char/geoip.c
+++ b/src/char/geoip.c
@@ -78,7 +78,7 @@ const char* geoip_getcountry(uint32 ipnum)
if (x >= GEOIP_COUNTRY_BEGIN) {
x = x-GEOIP_COUNTRY_BEGIN;
- if( x > GEOIP_MAX_COUNTRIES )
+ if( x >= GEOIP_MAX_COUNTRIES )
return geoip_countryname[0];
return geoip_countryname[x];
@@ -133,6 +133,7 @@ void geoip_init(void)
fno = fileno(db);
if (fstat(fno, &bufa) < 0) {
ShowError("geoip_readdb: Error stating GeoIP.dat! Error %d\n", errno);
+ fclose(db);
geoip->final(false);
return;
}