diff --git a/HISTORY b/HISTORY index 3d8ff02e..83f31aca 100644 --- a/HISTORY +++ b/HISTORY @@ -7263,3 +7263,4 @@ Video Disk Recorder Revision History Sören Moch). - Fixed sorting folders before recordings in case of UTF-8 (thanks to Sören Moch). - Reactivated stripping control characters from EPG texts and adapted it to UTF-8. +- Added missing decrementing of 'len' in libsi/si.c's String::decodeText() functions. diff --git a/libsi/si.c b/libsi/si.c index cd889bcd..80d34d14 100644 --- a/libsi/si.c +++ b/libsi/si.c @@ -6,7 +6,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: si.c 2.7 2012/08/21 08:10:00 kls Exp $ + * $Id: si.c 2.8 2012/09/29 14:44:20 kls Exp $ * * ***************************************************************************/ @@ -454,6 +454,7 @@ void String::decodeText(char *buffer, int size) { } if (l == 2 && Move) { memmove(p, p + 1, len - 1); // we also copy the terminating 0! + len -= 1; l = 1; } } @@ -480,6 +481,7 @@ void String::decodeText(char *buffer, char *shortVersion, int sizeBuffer, int si if (*p == 0x86 || *p == 0x87) { IsShortName += (*p == 0x86) ? 1 : -1; memmove(to, to + l, len - l + 1); // we also copy the terminating 0! + len -= l; l = 0; } if (l && IsShortName) {