Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.
Sign In
Not a member yet? Click here to register.

Mysqli_functions_include.php - dbconnection() will never return a connection

(Edit: I've referenced 8.00.22 because it's the newest code on Github, but as far as I can tell, the bug is present in both .21 and .22)

The error
The MySQLi and PDO database handlers both have a function like this:
mysqli_functions_include.php #L139 - #L145

dbconnection() is currently called only one place outside of the handlers themselves:
maincore.php #L1136

function_get_settings() is however very dependant on the dbconnection() static variable being initialized. In pdo_functions_include.php, it is. In mysqli_functions_include.php, it is not - and as such, it will never return a connection.

pdo_functions_include.php #L152

mysqli_functions_include.php #L126

My solution
Wrapping the connection in dbconnection() as follows
solved the two bugs that made me go hunting in the first place. I have not tested every place function_get_settings() is in use - I'll let you decide if that is needed.

(image) A quick command line search for function_get_settings() in 8.00.22
A lot of these places doesn't matter because of luck, but some do. I've found two, but they're probably not alone.

administration/bbcodes.php, before:
and after:

maintenance.php: Without the fix, it redirects to itself forever
Thread Information
1 post
285 times
Last Post
Last updated on 1 year ago
You can view all discussion threads in this forum.
You cannot set up a bounty in this discussion thread.
You can start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You can download attachments in this forum.
You cannot up or down-vote on the post in this discussion thread.
Users who participated in discussion: Mickelvlm