From 3d63936a36c91592e46eeab8bc679f2b4ddd8d1f Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 24 Apr 2017 09:25:29 +0200 Subject: [PATCH] Fixed a possible crash when pulling the CAM while decrypting a channel with MTD --- HISTORY | 3 ++- ci.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index 11c75fc0..d4c95ce2 100644 --- a/HISTORY +++ b/HISTORY @@ -8925,7 +8925,7 @@ Video Disk Recorder Revision History - Now stopping any ongoing recordings before stopping the plugins, to avoid a crash when stopping VDR while recording. -2017-04-22: Version 2.3.4 +2017-04-24: Version 2.3.4 - The functionality of HandleRemoteModifications(), which synchronizes changes to timers between peer VDR machines, has been moved to timers.[ch] and renamed to @@ -8989,3 +8989,4 @@ Video Disk Recorder Revision History ':ids' is given (suggested by Dietmar Spingler). - If 0 is given as the channel number in the SVDRP command LSTC, the data of the current channel is listed. +- Fixed a possible crash when pulling the CAM while decrypting a channel with MTD. diff --git a/ci.c b/ci.c index d3244e54..ee338279 100644 --- a/ci.c +++ b/ci.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.c 4.11 2017/04/11 16:45:55 kls Exp $ + * $Id: ci.c 4.12 2017/04/24 09:05:49 kls Exp $ */ #include "ci.h" @@ -1968,9 +1968,10 @@ void cCamSlot::Process(cTPDU *TPDU) case msNone: dbgprotocol("Slot %d: no module present\n", slotNumber); isyslog("CAM %d: no module present", slotNumber); - MtdActivate(false); + StopDecrypting(); DeleteAllConnections(); CancelActivation(); + MtdActivate(false); break; case msReset: dbgprotocol("Slot %d: module reset\n", slotNumber);