On 07/24/07 13:09, Malte Schröder wrote:
On Mon, 23 Jul 2007 16:20:23 +0200 Malte Schröder maltesch@gmx.de wrote:
Hello, when I switch for example to sunshine live 1.5.6 crashes. Plugins loaded are remote, skinenigmang and epgsearch.
This prevents vdr from crashing. But I don't understand how channel can be a null-pointer in that code-path. It is only set at the start of the method and then checked if it is a null-pointer. Okay, it is being re-set a few lines before, but that is in the true part of the condition.
--- vdr-1.5.6/eit.c 2007-07-21 16:58:04.000000000 +0200 +++ vdr-1.5.6.prod/eit.c 2007-07-24 12:06:46.000000000 +0200 @@ -209,7 +209,7 @@ LinkChannels->Add(new cLinkChannel(link)); } }
else
else if(channel) channel->SetPortalName(linkName); } }
@@ -256,7 +256,7 @@
if (!HasExternalData) pEvent->FixEpgBugs();
if (LinkChannels)
if (LinkChannels && channel) channel->SetLinkChannels(LinkChannels); Modified = true; }
I believe the actual problem was introduced by myself. I wanted to simplify the original patch to have only a single call to Channels.NewChannel(), and in doing so wrote channel = ... instead of transponder = ...
Please try the attached patch.
Klaus