Take care of value returned by array_search(). Fix the offset while traversing the array, and return null if the offset is out of bounds.

This commit is contained in:
Daniel Caujolle-Bert 2020-08-31 20:35:38 +02:00
parent 34ab6d1687
commit e5b47be78f
No known key found for this signature in database
GPG key ID: A7B7A4BEAA82789B

View file

@ -168,15 +168,21 @@ function getDMRId ($mmdvmconfigs) {
function getConfigItem($section, $key, $configs) {
// retrieves the corresponding config-entry within a [section]
$sectionpos = array_search("[" . $section . "]", $configs) + 1;
$len = count($configs);
while(startsWith($configs[$sectionpos],$key."=") === false && $sectionpos <= ($len) ) {
if (startsWith($configs[$sectionpos],"[")) {
return null;
}
$sectionpos = arraye_search("[" . $section . "]", $configs);
if ($sectionpos !== FALSE) {
$sectionpos++;
$len = count($configs);
while(($sectionpos < $len) && (startsWith($configs[$sectionpos],$key."=") === false) ) {
if (startsWith($configs[$sectionpos],"[")) {
return null;
}
$sectionpos++;
}
if ($sectionpos < $len) {
return substr($configs[$sectionpos], strlen($key) + 1);
}
}
return substr($configs[$sectionpos], strlen($key) + 1);
return null;
}
function getEnabled ($mode, $mmdvmconfigs) {