vdr-1.5.6 crashing (workaround)

Message ID 20070724130906.0c1e4129@highlander.home.lan
State New
Headers

Commit Message

Malte Schröder July 24, 2007, 11:09 a.m. UTC
  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.
  

Patch

--- 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;
       }