src/utils_format_json.c: Check return values of yajl_gen_* functions.
[collectd.git] / src / df.c
index 1581e0c..5416605 100644 (file)
--- a/src/df.c
+++ b/src/df.c
@@ -132,14 +132,10 @@ __attribute__((nonnull(2))) static void df_submit_one(char *plugin_instance,
                                                       const char *type,
                                                       const char *type_instance,
                                                       gauge_t value) {
-  value_t values[1];
   value_list_t vl = VALUE_LIST_INIT;
 
-  values[0].gauge = value;
-
-  vl.values = values;
+  vl.values = &(value_t){.gauge = value};
   vl.values_len = 1;
-  sstrncpy(vl.host, hostname_g, sizeof(vl.host));
   sstrncpy(vl.plugin, "df", sizeof(vl.plugin));
   if (plugin_instance != NULL)
     sstrncpy(vl.plugin_instance, plugin_instance, sizeof(vl.plugin_instance));
@@ -193,7 +189,8 @@ static int df_read(void) {
       }
 
       /* Duplicate found: leave non-NULL dup_ptr. */
-      if (by_device &&
+      if (by_device && (mnt_ptr->spec_device != NULL) &&
+          (dup_ptr->spec_device != NULL) &&
           (strcmp(mnt_ptr->spec_device, dup_ptr->spec_device) == 0))
         break;
       else if (!by_device && (strcmp(mnt_ptr->dir, dup_ptr->dir) == 0))