diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 20efef31..82af3922 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1529,6 +1529,7 @@ Udo Richter for fixing handling single byte characters >0x7F in Utf8ToArray() for fixing clearing color buttons in the 'curses' skin for adding a missing error report to cCuttingThread::Action() + for reporting a problem in handling reallocated memory in cCharSetConv::Convert() Sven Kreiensen for his help in keeping 'channels.conf.terr' up to date diff --git a/HISTORY b/HISTORY index 2715ccc1..895764e4 100644 --- a/HISTORY +++ b/HISTORY @@ -5460,3 +5460,5 @@ Video Disk Recorder Revision History - Only creating a new cDvbOsdProvider in cDvbDevice::MakePrimaryDevice() if 'On' is true (i.e. this device is being made the primary device). - Updated the Italian OSD texts (thanks to Diego Pierotto). +- Fixed handling reallocated memory in cCharSetConv::Convert() (reported by Udo + Richter). diff --git a/tools.c b/tools.c index 642704ca..bbbcf82f 100644 --- a/tools.c +++ b/tools.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: tools.c 1.135 2007/08/05 12:18:15 kls Exp $ + * $Id: tools.c 1.136 2007/10/13 12:00:21 kls Exp $ */ #include "tools.h" @@ -791,7 +791,7 @@ const char *cCharSetConv::Convert(const char *From, char *To, size_t ToLength) size_t d = ToPtr - result; size_t r = length / 2; length += r; - result = (char *)realloc(result, length); + Converted = result = (char *)realloc(result, length); ToLength += r; ToPtr = result + d; }