From 8b2f500d2a3180b0c038edcb81dcfb98fb6d2b7a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 8 Feb 2014 16:00:13 +0100 Subject: [PATCH] Replaced the NULL pointer assignment in ~cReceiver() to force a segfault with a call to abort() --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ receiver.c | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 85048db7..5be8f412 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3265,3 +3265,5 @@ Mariusz Bialonczyk Tony Houghton for suggesting to add LinkageTypePremiere to libsi/si.h and eit.c to avoid a compiler warning with Clang 3.4.1 + for suggesting to replace the NULL pointer assignment in ~cReceiver() to force a + segfault with a call to abort() diff --git a/HISTORY b/HISTORY index 74072c18..18df55ca 100644 --- a/HISTORY +++ b/HISTORY @@ -8194,3 +8194,5 @@ Video Disk Recorder Revision History - Fixed some compiler warnings with Clang 3.4.1 (reported by Paul Menzel). - Added LinkageTypePremiere to libsi/si.h and eit.c to avoid a compiler warning with Clang 3.4.1 (suggested by Tony Houghten). +- Replaced the NULL pointer assignment in ~cReceiver() to force a segfault with + a call to abort() (suggested by Tony Houghten). diff --git a/receiver.c b/receiver.c index de5d0aea..a3811003 100644 --- a/receiver.c +++ b/receiver.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: receiver.c 3.1 2014/01/01 12:03:00 kls Exp $ + * $Id: receiver.c 3.2 2014/02/08 15:57:30 kls Exp $ */ #include "receiver.h" @@ -22,10 +22,10 @@ cReceiver::cReceiver(const cChannel *Channel, int Priority) cReceiver::~cReceiver() { if (device) { - const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!"; + const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will abort now!"; esyslog("%s", msg); fprintf(stderr, "%s\n", msg); - *(char *)0 = 0; // cause a segfault + abort(); } }