Handle the odd case when there is no partition table for a partition
authorDavid Zeuthen <davidz@redhat.com>
Wed, 2 Nov 2011 21:16:20 +0000 (17:16 -0400)
committerDavid Zeuthen <davidz@redhat.com>
Wed, 2 Nov 2011 21:16:20 +0000 (17:16 -0400)
This can happen when a device is ejected and it changes size to
zero. In that situation, old stale partition objects may be lying
around.

Signed-off-by: David Zeuthen <davidz@redhat.com>
udisks/udisksclient.c

index d7975a9..36cc3f8 100644 (file)
@@ -1228,6 +1228,8 @@ udisks_client_get_partition_info (UDisksClient    *client,
   g_return_val_if_fail (UDISKS_IS_PARTITION (partition), NULL);
 
   table = udisks_client_get_partition_table (client, partition);
+  if (table == NULL)
+    goto out;
 
   flags = udisks_partition_get_flags (partition);
   if (g_strcmp0 (udisks_partition_table_get_type_ (table), "dos") == 0)
@@ -1273,6 +1275,7 @@ udisks_client_get_partition_info (UDisksClient    *client,
 
   g_free (flags_str);
   g_object_unref (table);
+ out:
   return ret;
 }