Previous 199869 Revisions Next

r34271 Friday 9th January, 2015 at 00:38:34 UTC by hap
fix s_flags[] array out of bounds access
[src/emu/cpu/tms0980]tms0980d.c

trunk/src/emu/cpu/tms0980/tms0980d.c
r242782r242783
4444
4545
4646static const UINT32 s_flags[] = {
47   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, _OVER, 0,
47   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, _OVER, 0,
4848   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5050   0, 0, 0, 0, _OUT, 0, 0, 0, 0,
5151   0, 0, 0, 0, 0, 0, 0, 0, 0,
5252   0, 0, 0, 0, 0, 0, 0, 0,
r242782r242783
265265   case zB0:
266266      break;
267267   case zB2:
268      dst += sprintf( dst, "#$%d", tms0980_bit_value[ op & 3 ] );
268      dst += sprintf( dst, "%d", tms0980_bit_value[ op & 3 ] );
269269      break;
270270   case zI2:
271      dst += sprintf( dst, "#$%01X", tms0980_i2_value[ op & 0x03 ] );
271      dst += sprintf( dst, "%d", tms0980_i2_value[ op & 0x03 ] );
272272      break;
273273   case zI4:
274      dst += sprintf( dst, "#$%01X", tms0980_i4_value[ op & 0x0F ] );
274      dst += sprintf( dst, "%d", tms0980_i4_value[ op & 0x0F ] );
275275      break;
276276   case zB7:
277      dst += sprintf( dst, "#$%02X", ( op & 0x7F ) << 1 );
277      dst += sprintf( dst, "$%02X", ( op & 0x7F ) << 1 );
278278      break;
279279   }
280280
r242782r242783
298298   case zB0:
299299      break;
300300   case zB2:
301      dst += sprintf( dst, "#$%d", tms0980_bit_value[ op & 3 ] );
301      dst += sprintf( dst, "%d", tms0980_bit_value[ op & 3 ] );
302302      break;
303303   case zI2:
304      dst += sprintf( dst, "#$%01X", tms0980_i2_value[ op & 0x03 ] );
304      dst += sprintf( dst, "%d", tms0980_i2_value[ op & 0x03 ] );
305305      break;
306306   case zI4:
307      dst += sprintf( dst, "#$%01X", tms0980_i4_value[ op & 0x0F ] );
307      dst += sprintf( dst, "%d", tms0980_i4_value[ op & 0x0F ] );
308308      break;
309309   case zB7:
310      dst += sprintf( dst, "#$%02X", ( op & 0x3F ) );
310      dst += sprintf( dst, "$%02X", ( op & 0x3F ) );
311311      break;
312312   }
313313
r242782r242783
331331   case zB0:
332332      break;
333333   case zB2:
334      dst += sprintf( dst, "#$%d", tms0980_bit_value[ op & 3 ] );
334      dst += sprintf( dst, "%d", tms0980_bit_value[ op & 3 ] );
335335      break;
336336   case zI2:
337      dst += sprintf( dst, "#$%01X", tms0980_i2_value[ op & 0x03 ] );
337      dst += sprintf( dst, "%d", tms0980_i2_value[ op & 0x03 ] );
338338      break;
339339   case zI3:
340      dst += sprintf( dst, "#$%01X", tms0980_i3_value[ op & 0x07 ] );
340      dst += sprintf( dst, "%d", tms0980_i3_value[ op & 0x07 ] );
341341      break;
342342   case zI4:
343      dst += sprintf( dst, "#$%01X", tms0980_i4_value[ op & 0x0F ] );
343      dst += sprintf( dst, "%d", tms0980_i4_value[ op & 0x0F ] );
344344      break;
345345   case zB7:
346      dst += sprintf( dst, "#$%02X", ( op & 0x3F ) );
346      dst += sprintf( dst, "$%02X", ( op & 0x3F ) );
347347      break;
348348   }
349349


Previous 199869 Revisions Next


© 1997-2024 The MAME Team