From 90e70d5d028b1bac369c2f4742b84e11f66435b7 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Wed, 21 Mar 2007 00:18:45 +0000 Subject: [PATCH] fix memory corruption on showSinglePic --- lib/dvb/decoder.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index fdd3f872..beec1078 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -846,20 +846,20 @@ RESULT eTSMPEGDecoder::showSinglePic(const char *filename) { int rd; fseek(f, 0, SEEK_SET); + if (!cnt) + { + buffer[pos++]=0; + buffer[pos++]=0; + buffer[pos++]=1; + buffer[pos++]=0xE0; + buffer[pos++]=(length*3)>>8; + buffer[pos++]=(length*3)&0xFF; + buffer[pos++]=0x80; + buffer[pos++]=0; + buffer[pos++]=0; + } while(1) { - if (!cnt) - { - buffer[pos++]=0; - buffer[pos++]=0; - buffer[pos++]=1; - buffer[pos++]=0xE0; - buffer[pos++]=(length*3)>>8; - buffer[pos++]=(length*3)&0xFF; - buffer[pos++]=0x80; - buffer[pos++]=0; - buffer[pos++]=0; - } rd = fread(buffer+pos, 1, length, f); if (rd > 0) pos += rd; -- 2.30.2