From: Andreas Monzner Date: Wed, 21 Mar 2007 00:18:45 +0000 (+0000) Subject: fix memory corruption on showSinglePic X-Git-Tag: 2.6.0~2367 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/90e70d5d028b1bac369c2f4742b84e11f66435b7 fix memory corruption on showSinglePic --- 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;