348681: snmpwalk of UCD-SNMP-MIB dskEntry causes bad data if "disks" mount point contain spaces Author: Jan Safranek <jsafrane@redhat.com> Reviewed-By: Karel Zak <kzak@redhat.com> Sent upstream as http://sourceforge.net/tracker/index.php?func=detail&aid=1828839&group_id=12694&atid=312694 diff -up net-snmp-5.4.1/agent/mibgroup/ucd-snmp/disk.c.disk-spaces net-snmp-5.4.1/agent/mibgroup/ucd-snmp/disk.c --- net-snmp-5.4.1/agent/mibgroup/ucd-snmp/disk.c.disk-spaces 2007-04-02 16:55:17.000000000 +0200 +++ net-snmp-5.4.1/agent/mibgroup/ucd-snmp/disk.c 2007-10-22 17:51:03.000000000 +0200 @@ -394,12 +394,12 @@ add_device(char *path, char *device, int else if(index == -1){ /* add if and only if the device was found */ if(device[0] != 0) { - copy_nword(path, disks[numdisks].path, - sizeof(disks[numdisks].path)); - copy_nword(device, disks[numdisks].device, - sizeof(disks[numdisks].device)); - disks[numdisks].minimumspace = minspace; - disks[numdisks].minpercent = minpercent; + struct diskpart *disk = &disks[numdisks]; + /* Following buffers are cleared above, no need to add '\0' */ + strncpy(disk->path, path, sizeof(disk->path)-1); + strncpy(disk->device, device, sizeof(disk->device)-1); + disk->minimumspace = minspace; + disk->minpercent = minpercent; numdisks++; } else {