dynamic_cast can return 0.

From: Erik Hovland <erik@hovland.org>


---

 libs/libmythtv/hdhrsignalmonitor.cpp |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/libs/libmythtv/hdhrsignalmonitor.cpp b/libs/libmythtv/hdhrsignalmonitor.cpp
index acdc594..4d691c1 100644
--- a/libs/libmythtv/hdhrsignalmonitor.cpp
+++ b/libs/libmythtv/hdhrsignalmonitor.cpp
@@ -115,6 +115,9 @@ bool HDHRSignalMonitor::UpdateFiltersFromStreamData(void)
             del_pids.push_back(fit.key());
 
     HDHRChannel *hdhr = dynamic_cast<HDHRChannel*>(channel);
+    if (!hdhr)
+        return false;
+
     // Remove PIDs
     bool ok = true;
     vector<int>::iterator dit = del_pids.begin();
@@ -148,6 +151,12 @@ void HDHRSignalMonitor::RunTableMonitor(void)
     }
 
     HDHRChannel *hdrc = dynamic_cast<HDHRChannel*>(channel);
+    if (!hdrc)
+    {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed dynamic_cast of channel");
+        return;
+    }
+
     uint localPort = hdhomerun_video_get_local_port(_video_socket);
     if (!hdrc->DeviceSetTarget(localPort))
     {
