(nw) px4 : fixed crash with invalid year

This commit is contained in:
Robbbert 2017-11-02 04:53:57 +11:00
parent c435ebb6ad
commit 4c1a07b26a

View File

@ -594,16 +594,22 @@ WRITE8_MEMBER( px4_state::sior_w )
{ {
case 1: case 1:
{ {
int year = dec_2_bcd(m_time.local_time.year); if (data < 10)
year = (year & 0xff0f) | ((data & 0xf) << 4); {
t->tm_year = bcd_2_dec(year) - 1900; int year = dec_2_bcd(m_time.local_time.year);
year = (year & 0xff0f) | ((data & 0xf) << 4);
t->tm_year = bcd_2_dec(year) - 1900;
}
} }
break; break;
case 2: case 2:
{ {
int year = dec_2_bcd(m_time.local_time.year); if (data < 10)
year = (year & 0xfff0) | (data & 0xf); {
t->tm_year = bcd_2_dec(year) - 1900; int year = dec_2_bcd(m_time.local_time.year);
year = (year & 0xfff0) | (data & 0xf);
t->tm_year = bcd_2_dec(year) - 1900;
}
} }
break; break;
case 3: t->tm_mon = bcd_2_dec(data & 0x7f) - 1; break; case 3: t->tm_mon = bcd_2_dec(data & 0x7f) - 1; break;