diff options
author | jstebbins <[email protected]> | 2011-12-21 22:06:59 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2011-12-21 22:06:59 +0000 |
commit | 5fce207779ccc0e9f338dd670079588ff56a0475 (patch) | |
tree | a138e6d57013f0d1d302aec4c7769e3154b56f5d /libhb | |
parent | 122ea23a9cc9b22313fee0648fa9831132074817 (diff) |
Fix corruption of buffer pools by render subs
A subtitle buffer's "next" pointer was being modified after the
buffer was closed which corrupts the buffer pool.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4380 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb')
-rw-r--r-- | libhb/sync.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libhb/sync.c b/libhb/sync.c index 6c1911b98..2c5bb9024 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -731,6 +731,10 @@ int syncVideoWork( hb_work_object_t * w, hb_buffer_t ** buf_in, if ( sync->sub_list == NULL ) sync->sub_tail = NULL; } + else if (sync->sub_tail == sub) + { + sync->sub_tail = prev_sub; + } // ...and trash it hb_buffer_t *next_sub = sub->next; |