summaryrefslogtreecommitdiff
path: root/src/data/grl-media.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/grl-media.c')
-rw-r--r--src/data/grl-media.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/data/grl-media.c b/src/data/grl-media.c
index e87882d..5043a6d 100644
--- a/src/data/grl-media.c
+++ b/src/data/grl-media.c
@@ -35,6 +35,7 @@
#include "grl-media.h"
#include <grilo.h>
#include <stdlib.h>
+#include <string.h>
#define GRL_LOG_DOMAIN_DEFAULT media_log_domain
GRL_LOG_DOMAIN(media_log_domain);
@@ -551,6 +552,9 @@ grl_media_unserialize (const gchar *serial)
/* Add id */
escaped_value = g_match_info_fetch (match_info, 3);
if (escaped_value && escaped_value[0] == '/') {
+ guint len = strlen (escaped_value);
+ if (len > 2 && escaped_value[len - 1] == '/')
+ escaped_value[len - 1] = '\0';
value = g_uri_unescape_string (escaped_value + 1, NULL);
grl_media_set_id (media, value);
g_free (value);