From 4c1a07b26a157363b0bc00d5f63641fa2adb49ae Mon Sep 17 00:00:00 2001 From: Robbbert Date: Thu, 2 Nov 2017 04:53:57 +1100 Subject: [PATCH] (nw) px4 : fixed crash with invalid year --- src/mame/drivers/px4.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/mame/drivers/px4.cpp b/src/mame/drivers/px4.cpp index 0c62cef6176..bea1adc7140 100644 --- a/src/mame/drivers/px4.cpp +++ b/src/mame/drivers/px4.cpp @@ -594,16 +594,22 @@ WRITE8_MEMBER( px4_state::sior_w ) { case 1: { - int year = dec_2_bcd(m_time.local_time.year); - year = (year & 0xff0f) | ((data & 0xf) << 4); - t->tm_year = bcd_2_dec(year) - 1900; + if (data < 10) + { + 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; case 2: { - int year = dec_2_bcd(m_time.local_time.year); - year = (year & 0xfff0) | (data & 0xf); - t->tm_year = bcd_2_dec(year) - 1900; + if (data < 10) + { + int year = dec_2_bcd(m_time.local_time.year); + year = (year & 0xfff0) | (data & 0xf); + t->tm_year = bcd_2_dec(year) - 1900; + } } break; case 3: t->tm_mon = bcd_2_dec(data & 0x7f) - 1; break;