VDR 1.3.32 crashes if recording date is in the future
Commit Message
hgm.bg schrieb:
> vdr-bounces@linuxtv.org wrote:
>
>
>>hgm.bg wrote:
>>
>>>vdr-bounces@linuxtv.org wrote:
>>>
>>>It doesn't help:
>>>Program received signal SIGSEGV, Segmentation fault.
>>>[Switching to Thread -1208874400 (LWP 2948)]
>>>0x080cb1e3 in cRecording (this=0x8409ba8,
>>> FileName=0x840efc4
>>>"Chaos_City/1x01_-_001_-_New_York_New_York_(Pilot)/2007-01-01.00.12.1
>>>0.99.re c") at recording.c:506
>>>506 data[1] = (char *)realloc(data[1], len + 1
>>>+ strlen(data[2]) + 1); Current language: auto; currently c++
>>
>>
>>Try with this patch:
>>
>>--- vdr-1.3.32/recording.c 2005-09-11 19:02:51.000000000 +0200
>>+++ vdr-1.3.32/recording.c 2005-09-16 10:38:03.000000000 +0200
>>@@ -496,7 +496,7 @@
>> data[2] = data[1];
>> data[1] = NULL;
>> }
>>- else if (line == 2) {
>>+ else if (line == 2 && data[1] && data[2]) {
>> // if line 1 is too long, it can't be the short text,
>> // so assume the short text is missing and concatenate
>> // line 1 and line 2 to be the long text:
>>
>>Tom
>
>
> Thanks Tom but i converted all summary.vdr's to info.vdr (was a little bit
> difficult with nested directories) and now it starts cleanly, i thought that
> it is not necessary to convert the old ones (it worked fine with 1.3.28)
What did the summary.vdr looks like?
I reproduced your crash with a summary like that:
Titel
<blank line>
Short text longer than 80 characters ...
<blank line>
My first patch solved the crash but didn't show any text. Here is now
the patch that should solve all problems with disfigured summary files.
Tom
@@ -492,11 +492,11 @@
line++;
}
fclose(f);
- if (line == 1) {
+ if (!data[2]) {
data[2] = data[1];
data[1] = NULL;
}
- else if (line == 2) {
+ else if (data[1] && data[2]) {
// if line 1 is too long, it can't be the short text,
// so assume the short text is missing and concatenate
// line 1 and line 2 to be the long text: