Merge branch 'v0.17.x'
This commit is contained in:
2
NEWS
2
NEWS
@@ -14,6 +14,8 @@ ver 0.17.2 (2012/??/??)
|
|||||||
- httpd: fix throttling bug after resuming playback
|
- httpd: fix throttling bug after resuming playback
|
||||||
* mapper: fix non-UTF8 music directory name
|
* mapper: fix non-UTF8 music directory name
|
||||||
* mapper: fix potential crash in file permission check
|
* mapper: fix potential crash in file permission check
|
||||||
|
* playlist: fix use-after-free bug
|
||||||
|
* playlist: fix memory leak
|
||||||
|
|
||||||
|
|
||||||
ver 0.17.1 (2012/07/31)
|
ver 0.17.1 (2012/07/31)
|
||||||
|
@@ -156,6 +156,9 @@ playlist_provider_print(struct client *client, const char *uri,
|
|||||||
song_print_info(client, song);
|
song_print_info(client, song);
|
||||||
else
|
else
|
||||||
song_print_uri(client, song);
|
song_print_uri(client, song);
|
||||||
|
|
||||||
|
if (!song_in_database(song) || song_is_detached(song))
|
||||||
|
song_free(song);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free(base_uri);
|
g_free(base_uri);
|
||||||
|
@@ -69,7 +69,6 @@ apply_song_metadata(struct song *dest, const struct song *src)
|
|||||||
} else {
|
} else {
|
||||||
tmp = song_file_new(dest->uri, NULL);
|
tmp = song_file_new(dest->uri, NULL);
|
||||||
merge_song_metadata(tmp, dest, src);
|
merge_song_metadata(tmp, dest, src);
|
||||||
song_free(dest);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dest->tag != NULL && dest->tag->time > 0 &&
|
if (dest->tag != NULL && dest->tag->time > 0 &&
|
||||||
@@ -80,11 +79,14 @@ apply_song_metadata(struct song *dest, const struct song *src)
|
|||||||
(e.g. last track on a CUE file); fix it up here */
|
(e.g. last track on a CUE file); fix it up here */
|
||||||
tmp->tag->time = dest->tag->time - src->start_ms / 1000;
|
tmp->tag->time = dest->tag->time - src->start_ms / 1000;
|
||||||
|
|
||||||
|
if (!song_in_database(dest))
|
||||||
|
song_free(dest);
|
||||||
|
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct song *
|
static struct song *
|
||||||
playlist_check_load_song(struct song *song, const char *uri, bool secure)
|
playlist_check_load_song(const struct song *song, const char *uri, bool secure)
|
||||||
{
|
{
|
||||||
struct song *dest;
|
struct song *dest;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user