rem: gnome_vfs_volume_monitor_unref (mon);
context: cd_cache_new (const gchar *dev,	      GError     **error){  CdCache *cache;  gchar *mountpoint = NULL, *device;  GnomeVFSVolumeMonitor *mon;  GnomeVFSDrive *drive = NULL;  GList *list, *or;  /* retrieve mountpoint (/etc/fstab). We could also use HAL for this,   * I think (gnome-volume-manager does that). */  if (!(device = get_device (dev, error)))    return NULL;  mon = gnome_vfs_get_volume_monitor ();  for (or = list = gnome_vfs_volume_monitor_get_connected_drives (mon);       list != NULL; list = list->next) {    gchar *pdev, *pdev2;    drive = list->data;    if (!(pdev = gnome_vfs_drive_get_device_path (drive)))      continue;    if (!(pdev2 = get_device (pdev, NULL))) {      g_free (pdev);      continue;    }    g_free (pdev);    if (strcmp (pdev2, device) == 0) {      gchar *mnt;      mnt = gnome_vfs_drive_get_activation_uri (drive);      g_free (pdev2);      if (!strncmp (mnt, "file://", 7)) {        mountpoint = g_strdup (mnt + 7);        g_free (mnt);        gnome_vfs_drive_ref (drive);        break;      }      g_free (mnt);    }    g_free (pdev2);  }  g_list_foreach (or, (GFunc) gnome_vfs_drive_unref, NULL);  g_list_free (or);  gnome_vfs_volume_monitor_unref (mon);  if (!mountpoint) {    g_set_error (error, 0, 0,        _("Failed to find mountpoint for device %s in /etc/fstab"),        device);    return NULL;  }  /* create struture */  cache = g_new0 (CdCache, 1);  cache->device = device;  cache->mountpoint = mountpoint;  cache->fd = -1;  cache->self_mounted = FALSE;  cache->drive = drive;  return cache;}