[telepathy-gabble/master] don't explode if mkdtemp failed
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Thu Apr 2 10:41:28 PDT 2009
---
src/ft-channel.c | 10 ++++++++--
src/ft-manager.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/ft-channel.c b/src/ft-channel.c
index 13d9c59..7d8a785 100644
--- a/src/ft-channel.c
+++ b/src/ft-channel.c
@@ -1453,13 +1453,17 @@ file_transfer_iface_init (gpointer g_iface,
static const gchar *
get_local_unix_socket_path (GabbleFileTransferChannel *self)
{
+ const gchar *tmp_dir;
gchar *path = NULL;
gchar *name;
struct stat buf;
+ tmp_dir = gabble_ft_manager_get_tmp_dir (self->priv->connection->ft_manager);
+ if (tmp_dir == NULL)
+ return NULL;
+
name = g_strdup_printf ("ft-channel-%p", self);
- path = g_build_filename (gabble_ft_manager_get_tmp_dir (
- self->priv->connection->ft_manager), name, NULL);
+ path = g_build_filename (tmp_dir, name, NULL);
g_free (name);
if (g_stat (path, &buf) == 0)
@@ -1618,6 +1622,8 @@ setup_local_socket (GabbleFileTransferChannel *self)
GError *error = NULL;
path = get_local_unix_socket_path (self);
+ if (path == NULL)
+ return FALSE;
self->priv->listener = gibber_listener_new ();
diff --git a/src/ft-manager.c b/src/ft-manager.c
index 2e601cf..1b9a52a 100644
--- a/src/ft-manager.c
+++ b/src/ft-manager.c
@@ -585,7 +585,7 @@ gabble_ft_manager_get_tmp_dir (GabbleFtManager *self)
g_get_tmp_dir ());
self->priv->tmp_dir = mkdtemp (self->priv->tmp_dir);
if (self->priv->tmp_dir == NULL)
- g_critical ("mkdtemp failed: %s\n", g_strerror (errno));
+ DEBUG ("mkdtemp failed: %s\n", g_strerror (errno));
return self->priv->tmp_dir;
}
--
1.5.6.5
More information about the telepathy-commits
mailing list