diff --git a/mythtv/libs/libmythtv/recorders/dvbcam.cpp b/mythtv/libs/libmythtv/recorders/dvbcam.cpp index 4d0dd26b2fd..7bd1d3682c9 100644 --- a/mythtv/libs/libmythtv/recorders/dvbcam.cpp +++ b/mythtv/libs/libmythtv/recorders/dvbcam.cpp @@ -72,8 +72,12 @@ DVBCam::DVBCam(const QString &aDevice) if (cafd >= 0) { ca_caps_t caps; - ioctl(cafd, CA_GET_CAP, &caps); - numslots = caps.slot_num; + // slot_num will be uninitialised if ioctl fails + if (ioctl(cafd, CA_GET_CAP, &caps) >= 0) + numslots = caps.slot_num; + else + LOG(VB_GENERAL, LOG_ERR, "ioctl CA_GET_CAP failed"); + close(cafd); } }