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