From a4e2fb4431dfb4c914d0e315d1e43fb05ae489ec Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 10 Apr 2019 00:56:34 +0300 Subject: Truncate too big time in guild member login time field --- src/char/int_guild.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/char/int_guild.c b/src/char/int_guild.c index 9c0be1629..aabf562a2 100644 --- a/src/char/int_guild.c +++ b/src/char/int_guild.c @@ -444,8 +444,14 @@ static struct guild *inter_guild_fromsql(int guild_id) m->position = MAX_GUILDPOSITION - 1; SQL->GetData(inter->sql_handle, 11, &data, &len); memcpy(m->name, data, min(len, NAME_LENGTH)); SQL->GetData(inter->sql_handle, 12, &data, NULL); - if (data != NULL) + if (data != NULL) { m->last_login = atoi(data); + // 2036-12-31 + if (m->last_login > 2114283600) { + ShowError("Last login time bigger than allowd value in %d:%s: %u\n", guild_id, g->name, m->last_login); + m->last_login = 0; + } + } m->modified = GS_MEMBER_UNMODIFIED; } -- cgit v1.2.3-70-g09d2