diff options
-rw-r--r-- | lib/os_internal.h | 4 | ||||
-rw-r--r-- | src/combined/xine_vorbis_decoder.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/os_internal.h b/lib/os_internal.h index 81b5ec8c5..f84bb1e62 100644 --- a/lib/os_internal.h +++ b/lib/os_internal.h @@ -344,8 +344,8 @@ void xine_private_rewinddir(DIR *); #define HAVE_MEMMEM #define memmem(H, HL, N, NL) \ xine_private_memmem((H), (HL), (N), (NL)) -void *xine_internal_memmem (const void *haystack, size_t haystack_len, - const void *needle, size_t needle_len); +void *xine_private_memmem (const void *haystack, size_t haystack_len, + const void *needle, size_t needle_len); #endif #endif diff --git a/src/combined/xine_vorbis_decoder.c b/src/combined/xine_vorbis_decoder.c index 259ef40b0..0dad6ed40 100644 --- a/src/combined/xine_vorbis_decoder.c +++ b/src/combined/xine_vorbis_decoder.c @@ -79,8 +79,11 @@ static void vorbis_reset (audio_decoder_t *this_gen) { vorbis_decoder_t *this = (vorbis_decoder_t *) this_gen; - if( !this->header_count ) - vorbis_block_init(&this->vd,&this->vb); + if( this->header_count ) return; + + /* clear block first, as it might contain allocated data */ + vorbis_block_clear(&this->vb); + vorbis_block_init(&this->vd,&this->vb); } static void vorbis_discontinuity (audio_decoder_t *this_gen) { |