mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
fix NULL pointer segfault
This commit is contained in:
parent
087b6688e7
commit
814ff941a9
@ -0,0 +1,41 @@
|
|||||||
|
--- vdr-2.2.0/dvbdevice.c.org 2015-01-14 13:09:19.000000000 +0100
|
||||||
|
+++ vdr-2.2.0/dvbdevice.c 2016-06-25 15:50:40.619609021 +0200
|
||||||
|
@@ -1089,6 +1089,17 @@
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
+#define NUMDELIVERYSYSTEMNAMES (sizeof(DeliverySystemNames)/sizeof(*DeliverySystemNames)-1)
|
||||||
|
+
|
||||||
|
+const char *GetDeliverySystemName(int n)
|
||||||
|
+{
|
||||||
|
+ if (n < 0 || n >= NUMDELIVERYSYSTEMNAMES)
|
||||||
|
+ return DeliverySystemNames[0];
|
||||||
|
+
|
||||||
|
+ return DeliverySystemNames[n];
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
cDvbDevice::cDvbDevice(int Adapter, int Frontend)
|
||||||
|
{
|
||||||
|
adapter = Adapter;
|
||||||
|
@@ -1185,9 +1196,9 @@
|
||||||
|
{
|
||||||
|
if (dvbTuner) {
|
||||||
|
if (dvbTuner->FrontendType() != SYS_UNDEFINED)
|
||||||
|
- return DeliverySystemNames[dvbTuner->FrontendType()];
|
||||||
|
+ return GetDeliverySystemName(dvbTuner->FrontendType());
|
||||||
|
if (numDeliverySystems)
|
||||||
|
- return DeliverySystemNames[deliverySystems[0]]; // to have some reasonable default
|
||||||
|
+ return GetDeliverySystemName(deliverySystems[0]); // to have some reasonable default
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
@@ -1318,7 +1329,7 @@
|
||||||
|
if (numDeliverySystems > 0) {
|
||||||
|
cString ds("");
|
||||||
|
for (int i = 0; i < numDeliverySystems; i++)
|
||||||
|
- ds = cString::sprintf("%s%s%s", *ds, i ? "," : "", DeliverySystemNames[deliverySystems[i]]);
|
||||||
|
+ ds = cString::sprintf("%s%s%s", *ds, i ? "," : "", GetDeliverySystemName(deliverySystems[i]));
|
||||||
|
cString ms("");
|
||||||
|
if (frontendInfo.caps & FE_CAN_QPSK) { numModulations++; ms = cString::sprintf("%s%s%s", *ms, **ms ? "," : "", MapToUserString(QPSK, ModulationValues)); }
|
||||||
|
if (frontendInfo.caps & FE_CAN_QAM_16) { numModulations++; ms = cString::sprintf("%s%s%s", *ms, **ms ? "," : "", MapToUserString(QAM_16, ModulationValues)); }
|
Loading…
x
Reference in New Issue
Block a user