don't use sprintf. It's not guaranteed to not scribble over memory.

base/remote_gdb.cc:
    use snprintf, it's safer
dev/ide_disk.cc:
    use strncpy instead of snprintf

--HG--
extra : convert_revision : 90455e3f6bcb4c771724298a5a0b79a5b483a85c
This commit is contained in:
Nathan Binkert 2005-08-23 11:38:27 -04:00
parent 03e256b0f0
commit 1771ee203f
2 changed files with 4 additions and 3 deletions

View file

@ -834,7 +834,7 @@ RemoteGDB::trap(int type)
active = true;
else
// Tell remote host that an exception has occurred.
sprintf((char *)buffer, "S%02x", signal(type));
snprintf((char *)buffer, sizeof(buffer), "S%02x", signal(type));
send(buffer);
// Stick frame regs into our reg cache.
@ -852,7 +852,7 @@ RemoteGDB::trap(int type)
// if this command came from a running gdb, answer it --
// the other guy has no way of knowing if we're in or out
// of this loop when he issues a "remote-signal".
sprintf((char *)buffer, "S%02x", signal(type));
snprintf((char *)buffer, sizeof(buffer), "S%02x", signal(type));
send(buffer);
continue;

View file

@ -92,7 +92,8 @@ IdeDisk::IdeDisk(const string &name, DiskImage *img, PhysicalMemory *phys,
}
// Setup the model name
sprintf((char *)driveID.atap_model, "5MI EDD si k");
strncpy((char *)driveID.atap_model, "5MI EDD si k",
sizeof(driveID.atap_model));
// Set the maximum multisector transfer size
driveID.atap_multi = MAX_MULTSECT;
// IORDY supported, IORDY disabled, LBA enabled, DMA enabled