diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 684d05b1..700c5f71 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -962,6 +962,7 @@ Marcus M Pekka Virtanen for adding language code handling to the subtitling descriptor in 'libsi' + for adding missing NULL checks when accessing sectionHandler in device.c John Kennedy for publishing "A Fast Bresenham Algorithm For Drawing Ellipses" (found at diff --git a/HISTORY b/HISTORY index d12d1fcf..1c618bf9 100644 --- a/HISTORY +++ b/HISTORY @@ -2797,3 +2797,5 @@ Video Disk Recorder Revision History in the list) everything freezes and the vdr processes have to be killed with -9 and the driver needs to be reloaded. Maybe somebody else can find out what's going wrong here... +- Added missing NULL checks when accessing sectionHandler in device.c (thanks to + Pekka Virtanen). diff --git a/device.c b/device.c index 9da29579..0c2b76dc 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.54 2004/04/17 10:07:10 kls Exp $ + * $Id: device.c 1.55 2004/05/16 12:14:47 kls Exp $ */ #include "device.h" @@ -325,12 +325,14 @@ int cDevice::OpenFilter(u_short Pid, u_char Tid, u_char Mask) void cDevice::AttachFilter(cFilter *Filter) { - sectionHandler->Attach(Filter); + if (sectionHandler) + sectionHandler->Attach(Filter); } void cDevice::Detach(cFilter *Filter) { - sectionHandler->Detach(Filter); + if (sectionHandler) + sectionHandler->Detach(Filter); } bool cDevice::ProvidesSource(int Source) const