Blob Blame History Raw
From f4a011831887392d4b7d3c621501c0a431b90331 Mon Sep 17 00:00:00 2001
From: Ben Kibbey <bjk@luxsci.net>
Date: Sun, 6 Jul 2014 10:47:51 +0200
Subject: [PATCH] Fix crash when MpdSong->file is not set.

---
 src/gmpc-mpddata-model.gob | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gmpc-mpddata-model.gob b/src/gmpc-mpddata-model.gob
index 61a843f..052ef81 100644
--- a/src/gmpc-mpddata-model.gob
+++ b/src/gmpc-mpddata-model.gob
@@ -611,13 +611,17 @@ end:
                         break;
 										case MPDDATA_MODEL_COL_PATH_EXTENSION:
 												{
-													int j = strlen(song->file);
+                                                    if(!song->file)
+                                                        break;
+                                                    int j = strlen(song->file);
 													for(;j>0&&song->file[j] != '.';j--);
 													g_value_set_string(value, &(song->file)[j+1]);
 													break;
 												}
 										case MPDDATA_MODEL_COL_PATH_DIRECTORY:
 												{
+                                                    if(!song->file)
+                                                        break;
 													gchar *dir = g_path_get_dirname(song->file);
 													g_value_set_string(value, dir);
 													g_free(dir);
@@ -643,6 +647,7 @@ end:
                         }
                         break;
                     case MPDDATA_MODEL_COL_SONG_TITLEFILE:
+                        if (song->file)
                         {
                             gchar *path = g_path_get_basename(song->file);
                             g_value_set_string(value, path);
@@ -699,7 +704,7 @@ end:
                         break;
 
                     case MPDDATA_MODEL_COL_ICON_ID:
-                        if (strstr(song->file, "://")) {
+                        if (song->file && strstr(song->file, "://")) {
                             g_value_set_string(value, "media-stream");
                         } else {
                             g_value_set_string(value, "media-audiofile");
-- 
2.7.4.GIT