diff --git a/hald/linux/probing/probe-volume.c b/hald/linux/probing/probe-volume.c index 489c15c..e32925a 100644 --- a/hald/linux/probing/probe-volume.c +++ b/hald/linux/probing/probe-volume.c @@ -122,8 +122,11 @@ set_volume_id_values (LibHalContext *ctx, const char *udi, LibHalChangeSet *cs, libhal_changeset_set_property_string (cs, "volume.fsusage", usage); HAL_DEBUG (("volume.fsusage = '%s'", usage)); - libhal_changeset_set_property_string (cs, "volume.fstype", vid->type); + if (!libhal_changeset_set_property_string (cs, "volume.fstype", vid->type)) + libhal_changeset_set_property_string (cs, "volume.fstype", "") + HAL_DEBUG(("volume.fstype = '%s'", vid->type)); + if (vid->type_version[0] != '\0') { libhal_changeset_set_property_string (cs, "volume.fsversion", vid->type_version); HAL_DEBUG(("volume.fsversion = '%s'", vid->type_version)); @@ -141,12 +144,23 @@ set_volume_id_values (LibHalContext *ctx, const char *udi, LibHalChangeSet *cs, libhal_changeset_set_property_string (cs, "info.product", volume_label); } else { - snprintf (buf, sizeof (buf), "Volume (%s)", vid->type); + if (vid->type != NULL) { + snprintf (buf, sizeof (buf), "Volume (%s)", vid->type); + } else { + snprintf (buf, sizeof (buf), "Volume (unknown)"); + } + libhal_changeset_set_property_string (cs, "info.product", buf); + } g_free(volume_label); } else { - snprintf (buf, sizeof (buf), "Volume (%s)", vid->type); + if (vid->type != NULL) { + snprintf (buf, sizeof (buf), "Volume (%s)", vid->type); + } else { + snprintf (buf, sizeof (buf), "Volume (unknown)"); + } + libhal_changeset_set_property_string (cs, "info.product", buf); } } diff --git a/libhal/libhal.c b/libhal/libhal.c index b5f3c1e..5610bce 100644 --- a/libhal/libhal.c +++ b/libhal/libhal.c @@ -3744,6 +3744,9 @@ libhal_changeset_set_property_string (LibHalChangeSet *changeset, const char *ke { LibHalChangeSetElement *elem; + LIBHAL_CHECK_PARAM_VALID(key, "*key", FALSE); + LIBHAL_CHECK_PARAM_VALID(value, "*value", FALSE); + elem = calloc (1, sizeof (LibHalChangeSetElement)); if (elem == NULL) goto out;