diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-09-03 02:14:52 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-09-03 03:11:36 -0700 |
commit | cdc9bb460e9536577d2747d51c76306a91b3d064 (patch) | |
tree | 08fd64464118041c8be657fae1e8c49310604104 /src/storedPlaylist.c | |
parent | 29fd1316fc0e098451d54fb4ee8ba84a422701f6 (diff) | |
download | mpd-cdc9bb460e9536577d2747d51c76306a91b3d064.tar.gz mpd-cdc9bb460e9536577d2747d51c76306a91b3d064.tar.xz mpd-cdc9bb460e9536577d2747d51c76306a91b3d064.zip |
tag: fix segfault on update
clearMpdTag could be called on a tag that was still in a
tag_begin_add transaction before tag_end_add is called. This
was causing free() to attempt to operate on bulk.items; which is
un-free()-able. Now instead we unmark the bulk.busy to avoid
committing the tags to the heap only to be immediately freed.
Additionally, we need to remember to call tag_end_add() when
a song is updated before we NULL song->tag to avoid tripping
an assertion the next time tag_begin_add() is called.
Diffstat (limited to 'src/storedPlaylist.c')
0 files changed, 0 insertions, 0 deletions