From 662cee7fa4d6fb54f257def144f3f2b219ad2a8a Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Mon, 15 May 2017 18:26:27 +0200 Subject: [PATCH] Buffer overrun warnings from GCC 7.1 fixed (nw) --- src/devices/bus/lpci/mpc105.cpp | 2 +- src/devices/cpu/i8089/i8089_dasm.cpp | 5 +++-- src/mame/drivers/argo.cpp | 2 +- src/mame/drivers/megasys1.cpp | 6 +++--- src/mame/drivers/pengadvb.cpp | 2 +- src/mame/machine/intv.cpp | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/devices/bus/lpci/mpc105.cpp b/src/devices/bus/lpci/mpc105.cpp index 74e11d3f5d5..bf1583add8d 100644 --- a/src/devices/bus/lpci/mpc105.cpp +++ b/src/devices/bus/lpci/mpc105.cpp @@ -102,7 +102,7 @@ void mpc105_device::update_memory() if (m_bank_base > 0) { - sprintf(bank_str,"bank%d",bank + m_bank_base); + sprintf(bank_str,"bank%d",uint8_t(bank + m_bank_base)); membank(bank_str)->set_base(machine().device(RAM_TAG)->pointer()); } } diff --git a/src/devices/cpu/i8089/i8089_dasm.cpp b/src/devices/cpu/i8089/i8089_dasm.cpp index bbc4ab1a59e..1159602289b 100644 --- a/src/devices/cpu/i8089/i8089_dasm.cpp +++ b/src/devices/cpu/i8089/i8089_dasm.cpp @@ -355,11 +355,12 @@ private: auto tmp = new i8089_instruction(m_pc, m_oprom + m_pc); m_pc += tmp->length(); + std::string sub = tmp->buffer(); if (m_w == 0) - sprintf(m_buffer, "movb %s, %s", tmp->buffer(), m_offset); + sprintf(m_buffer, "movb %s, %s", sub.c_str(), m_offset); else - sprintf(m_buffer, "mov %s, %s", tmp->buffer(), m_offset); + sprintf(m_buffer, "mov %s, %s", sub.c_str(), m_offset); delete(tmp); } diff --git a/src/mame/drivers/argo.cpp b/src/mame/drivers/argo.cpp index 38599049be6..8288c247d1c 100644 --- a/src/mame/drivers/argo.cpp +++ b/src/mame/drivers/argo.cpp @@ -82,7 +82,7 @@ READ8_MEMBER(argo_state::argo_io_r) { case 0xA1: // keyboard char kbdrow[6]; - sprintf(kbdrow,"X%X",offset>>8); + sprintf(kbdrow,"X%X",uint8_t(offset>>8)); return ioport(kbdrow)->read(); case 0xE8: // wants bit 4 low then high diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp index 2ffbc7f2376..452108eeafd 100644 --- a/src/mame/drivers/megasys1.cpp +++ b/src/mame/drivers/megasys1.cpp @@ -4091,7 +4091,7 @@ ROM_END void megasys1_state::rodland_gfx_unmangle(const char *region) { uint8_t *rom = memregion(region)->base(); - int size = memregion(region)->bytes(); + uint32_t size = memregion(region)->bytes(); int i; /* data lines swap: 76543210 -> 64537210 */ @@ -4120,7 +4120,7 @@ void megasys1_state::rodland_gfx_unmangle(const char *region) void megasys1_state::jitsupro_gfx_unmangle(const char *region) { uint8_t *rom = memregion(region)->base(); - int size = memregion(region)->bytes(); + uint32_t size = memregion(region)->bytes(); int i; /* data lines swap: 76543210 -> 43576210 */ @@ -4144,7 +4144,7 @@ void megasys1_state::jitsupro_gfx_unmangle(const char *region) void megasys1_state::stdragona_gfx_unmangle(const char *region) { uint8_t *rom = memregion(region)->base(); - int size = memregion(region)->bytes(); + uint32_t size = memregion(region)->bytes(); int i; /* data lines swap: 76543210 -> 37564210 */ diff --git a/src/mame/drivers/pengadvb.cpp b/src/mame/drivers/pengadvb.cpp index 0722e45bd1e..85fcdf940f0 100644 --- a/src/mame/drivers/pengadvb.cpp +++ b/src/mame/drivers/pengadvb.cpp @@ -281,7 +281,7 @@ void pengadvb_state::machine_reset() void pengadvb_state::pengadvb_decrypt(const char* region) { uint8_t *mem = memregion(region)->base(); - int memsize = memregion(region)->bytes(); + uint32_t memsize = memregion(region)->bytes(); // data lines swap for (int i = 0; i < memsize; i++) diff --git a/src/mame/machine/intv.cpp b/src/mame/machine/intv.cpp index 3604a44b1d8..3f9654426a3 100644 --- a/src/mame/machine/intv.cpp +++ b/src/mame/machine/intv.cpp @@ -581,7 +581,7 @@ void intv_state::machine_start() for (int i = 0; i < 10; i++) { char str[5]; - sprintf(str, "ROW%i", i); + sprintf(str, "ROW%X", uint8_t(i)); m_intv_keyboard[i] = ioport(str); }