Replaced the NULL pointer assignment in ~cReceiver() to force a segfault with a call to abort()

This commit is contained in:
Klaus Schmidinger 2014-02-08 16:00:13 +01:00
parent a30563634d
commit 8b2f500d2a
3 changed files with 7 additions and 3 deletions

View File

@ -3265,3 +3265,5 @@ Mariusz Bialonczyk <manio@skyboo.net>
Tony Houghton <h@realh.co.uk>
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()

View File

@ -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).

View File

@ -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();
}
}