summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--src/demuxers/demux_mpeg_block.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2f4000c28..aada6125c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,7 @@ xine-lib (1.1.17) 2009-??-??
* Protect audio loop so it cannot write to a paused device (fix
pause/resume freeze with pulseaudio).
* Fix build with libavutil >= 50.0.0.
+ * Fix segfaults when playing VCDs.
xine-lib (1.1.16.2) 2009-02-10
* Build fixes related to ImageMagick 6.4 & later.
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 4fa96faeb..ffbc63f3d 100644
--- a/src/demuxers/demux_mpeg_block.c
+++ b/src/demuxers/demux_mpeg_block.c
@@ -1417,7 +1417,8 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str
}
input->seek(input, 0, SEEK_SET);
- if (input->read(input, this->scratch, this->blocksize) == this->blocksize) {
+ memset (this->scratch, 255, 5); /* result of input->read() won't matter */
+ if (input->read(input, this->scratch, this->blocksize)) {
lprintf("open_plugin:read worked\n");
if (this->scratch[0] || this->scratch[1]