Fixed a possible crash if cPluginManager::GetPlugin() is called with a NULL pointer

This commit is contained in:
Klaus Schmidinger 2006-10-14 09:57:09 +02:00
parent bb335fecba
commit 6a15d77429
3 changed files with 6 additions and 2 deletions

View File

@ -1825,6 +1825,8 @@ Petri Hintukainen <Petri.Hintukainen@hut.fi>
file is in the future file is in the future
for fixing handling video directory updates in case an other process has touched the for fixing handling video directory updates in case an other process has touched the
.update file after the last NeedsUpdate() check .update file after the last NeedsUpdate() check
for fixing a possible crash if cPluginManager::GetPlugin() is called with a NULL
pointer
Marcel Schaeben <mts280@gmx.de> Marcel Schaeben <mts280@gmx.de>
for his "Easy Input" patch for his "Easy Input" patch

View File

@ -4956,3 +4956,5 @@ Video Disk Recorder Revision History
- Fixed clearing an event's Title, ShortText and Description in case the data comes - Fixed clearing an event's Title, ShortText and Description in case the data comes
from an external source. from an external source.
- Updated the Hungarian language texts (thanks to Guido Josten). - Updated the Hungarian language texts (thanks to Guido Josten).
- Fixed a possible crash if cPluginManager::GetPlugin() is called with a NULL
pointer (thanks to Petri Hintukainen).

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: plugin.c 1.23 2006/08/13 08:51:44 kls Exp $ * $Id: plugin.c 1.24 2006/10/14 09:49:16 kls Exp $
*/ */
#include "plugin.h" #include "plugin.h"
@ -416,7 +416,7 @@ cPlugin *cPluginManager::GetPlugin(int Index)
cPlugin *cPluginManager::GetPlugin(const char *Name) cPlugin *cPluginManager::GetPlugin(const char *Name)
{ {
if (pluginManager) { if (pluginManager && Name) {
for (cDll *dll = pluginManager->dlls.First(); dll; dll = pluginManager->dlls.Next(dll)) { for (cDll *dll = pluginManager->dlls.First(); dll; dll = pluginManager->dlls.Next(dll)) {
cPlugin *p = dll->Plugin(); cPlugin *p = dll->Plugin();
if (p && strcmp(p->Name(), Name) == 0) if (p && strcmp(p->Name(), Name) == 0)