summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivek Dasmohapatra <vivek@collabora.co.uk>2010-07-19 13:10:12 +0100
committerVivek Dasmohapatra <vivek@collabora.co.uk>2010-08-19 13:23:05 +0100
commit0fc5bed249202727b7eb034ab37502e4a024afb1 (patch)
tree147f9eccb1a120eada76a3e729504485d527ca48
parentb4463ae864beab551262778868c60104da572216 (diff)
downloadtelepathy-mission-control-0fc5bed249202727b7eb034ab37502e4a024afb1.tar.gz
More checks on built strings (from coverity report)
-rw-r--r--src/mcd-account.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/mcd-account.c b/src/mcd-account.c
index cf793907..b64f4984 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -1056,7 +1056,6 @@ _mcd_account_delete (McdAccount *account,
{
McdAccountPrivate *priv = account->priv;
gchar *data_dir_str;
- GDir *data_dir;
GError *kf_error = NULL;
AccountDeleteData *delete_data;
@@ -1079,21 +1078,29 @@ _mcd_account_delete (McdAccount *account,
}
data_dir_str = get_account_data_path (priv);
- data_dir = g_dir_open (data_dir_str, 0, NULL);
- if (data_dir)
+
+ if (data_dir_str != NULL)
{
- const gchar *filename;
- while ((filename = g_dir_read_name (data_dir)) != NULL)
+ GDir *data_dir = g_dir_open (data_dir_str, 0, NULL);
+
+ if (data_dir)
{
- gchar *path;
- path = g_build_filename (data_dir_str, filename, NULL);
- g_remove (path);
- g_free (path);
+ const gchar *filename;
+
+ while ((filename = g_dir_read_name (data_dir)) != NULL)
+ {
+ gchar *path = g_build_filename (data_dir_str, filename, NULL);
+
+ g_remove (path);
+ g_free (path);
+ }
+
+ g_dir_close (data_dir);
+ g_rmdir (data_dir_str);
}
- g_dir_close (data_dir);
- g_rmdir (data_dir_str);
+
+ g_free (data_dir_str);
}
- g_free (data_dir_str);
#if ENABLE_GNOME_KEYRING
/* Delete any secret parameters from the keyring */