summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Newnham <mark@newnhams.com>2020-03-30 19:25:06 -0600
committerMark Newnham <mark@newnhams.com>2020-03-30 19:25:06 -0600
commitf9f395672e8b03657cc3c67ef2a122eb2fd81abc (patch)
tree282369f7a89bf063f0db2ba7cf47fabdd52500ed
parent7b0d040355753aa95e6068b54bbaf3014f8da3e8 (diff)
downloadadodb-f9f395672e8b03657cc3c67ef2a122eb2fd81abc.tar.gz
adodb-f9f395672e8b03657cc3c67ef2a122eb2fd81abc.tar.bz2
adodb-f9f395672e8b03657cc3c67ef2a122eb2fd81abc.zip
PHP7.4 throws error at uninitialized array, #608
method Fields() accessed an unitialized array, that was not trapped in versions of PHP prior to 7.4. method now checks to see if array is initialized.
-rw-r--r--drivers/adodb-mssqlnative.inc.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/adodb-mssqlnative.inc.php b/drivers/adodb-mssqlnative.inc.php
index 6252fc01..87b60f17 100644
--- a/drivers/adodb-mssqlnative.inc.php
+++ b/drivers/adodb-mssqlnative.inc.php
@@ -1061,7 +1061,14 @@ class ADORecordset_mssqlnative extends ADORecordSet {
/* Use associative array to get fields array */
function Fields($colname)
{
- if ($this->fetchMode != ADODB_FETCH_NUM) return $this->fields[$colname];
+ if (!is_array($this->fields))
+ /*
+ * Too early
+ */
+ return;
+ if ($this->fetchMode != ADODB_FETCH_NUM)
+ return $this->fields[$colname];
+
if (!$this->bind) {
$this->bind = array();
for ($i=0; $i < $this->_numOfFields; $i++) {