summaryrefslogtreecommitdiffstats
path: root/playtree.c
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-02 22:44:15 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-02 22:44:15 +0000
commit2c3314513400ffeac7d679ad180a0683b556a736 (patch)
tree811cbb664414668d6db8501f42e1efb7cd371649 /playtree.c
parent9adea82e2ad6ccd1b51655eca4d7da289b2e0f70 (diff)
downloadmpv-2c3314513400ffeac7d679ad180a0683b556a736.tar.bz2
mpv-2c3314513400ffeac7d679ad180a0683b556a736.tar.xz
10L found by jeroen dobbelaere <jeroen dot dobbelaere at acunia dot com>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8063 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'playtree.c')
-rw-r--r--playtree.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/playtree.c b/playtree.c
index e4f6fb2771..900c71ce18 100644
--- a/playtree.c
+++ b/playtree.c
@@ -32,8 +32,11 @@ play_tree_free(play_tree_t* pt, int childs) {
#endif
if(childs) {
- for(iter = pt->child; iter != NULL; iter = iter->next)
+ for(iter = pt->child; iter != NULL; ) {
+ play_tree_t* nxt=iter->next;
play_tree_free(iter,1);
+ iter = nxt;
+ }
pt->child = NULL;
}
@@ -64,8 +67,11 @@ play_tree_free_list(play_tree_t* pt, int childs) {
for(iter = pt ; iter->prev != NULL ; iter = iter->prev)
/* NOTHING */;
- for( ; iter != NULL ; iter = iter->next)
+ while(iter) {
+ play_tree_t* nxt = iter->next;
play_tree_free(iter,childs);
+ iter = nxt;
+ }
}