1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed a possible crash when pulling the CAM while decrypting a channel with MTD

This commit is contained in:
Klaus Schmidinger 2017-04-24 09:25:29 +02:00
parent 2e9060d549
commit 3d63936a36
2 changed files with 5 additions and 3 deletions

View File

@ -8925,7 +8925,7 @@ Video Disk Recorder Revision History
- Now stopping any ongoing recordings before stopping the plugins, to avoid - Now stopping any ongoing recordings before stopping the plugins, to avoid
a crash when stopping VDR while recording. 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 - The functionality of HandleRemoteModifications(), which synchronizes changes to
timers between peer VDR machines, has been moved to timers.[ch] and renamed 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). ':ids' is given (suggested by Dietmar Spingler).
- If 0 is given as the channel number in the SVDRP command LSTC, the data of the - If 0 is given as the channel number in the SVDRP command LSTC, the data of the
current channel is listed. current channel is listed.
- Fixed a possible crash when pulling the CAM while decrypting a channel with MTD.

5
ci.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "ci.h"
@ -1968,9 +1968,10 @@ void cCamSlot::Process(cTPDU *TPDU)
case msNone: case msNone:
dbgprotocol("Slot %d: no module present\n", slotNumber); dbgprotocol("Slot %d: no module present\n", slotNumber);
isyslog("CAM %d: no module present", slotNumber); isyslog("CAM %d: no module present", slotNumber);
MtdActivate(false); StopDecrypting();
DeleteAllConnections(); DeleteAllConnections();
CancelActivation(); CancelActivation();
MtdActivate(false);
break; break;
case msReset: case msReset:
dbgprotocol("Slot %d: module reset\n", slotNumber); dbgprotocol("Slot %d: module reset\n", slotNumber);