X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdisk.c;h=29aa979018b42bc9621d5b011a73daf0ae12722c;hb=fd9c88963b04c9e9050a952ba0f018493e8b7638;hp=6ed71b2853396f22eb848f504cffa16586a1d407;hpb=b88f9d8a83ff838523a21e4b191f447888d651cd;p=collectd.git diff --git a/src/disk.c b/src/disk.c index 6ed71b28..29aa9790 100644 --- a/src/disk.c +++ b/src/disk.c @@ -213,12 +213,13 @@ static void disk_submit (const char *plugin_instance, vl.values = values; vl.values_len = 2; vl.time = time (NULL); - strcpy (vl.host, hostname_g); - strcpy (vl.plugin, "disk"); - strncpy (vl.plugin_instance, plugin_instance, + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "disk", sizeof (vl.plugin)); + sstrncpy (vl.plugin_instance, plugin_instance, sizeof (vl.plugin_instance)); + sstrncpy (vl.type, type, sizeof (vl.type)); - plugin_dispatch_values (type, &vl); + plugin_dispatch_values (&vl); } /* void disk_submit */ #if HAVE_IOKIT_IOKITLIB_H @@ -375,7 +376,8 @@ static int disk_read (void) write_tme = dict_get_value (stats_dict, kIOBlockStorageDriverStatisticsTotalWriteTimeKey); - if (snprintf (disk_name, 64, "%i-%i", disk_major, disk_minor) >= 64) + if (ssnprintf (disk_name, sizeof (disk_name), + "%i-%i", disk_major, disk_minor) >= sizeof (disk_name)) { DEBUG ("snprintf (major, minor) failed."); CFRelease (child_dict); @@ -452,7 +454,7 @@ static int disk_read (void) major = atoll (fields[0]); minor = atoll (fields[1]); - disk_name = fields[2]; + disk_name = fields[2 + fieldshift]; for (ds = disklist, pre_ds = disklist; ds != NULL; pre_ds = ds, ds = ds->next) if (strcmp (disk_name, ds->name) == 0)