Bug #78682 [Opn->Fbk]: wrong executed if-else
Edit report at https://bugs.php.net/bug.php?id=78682&edit=1
ID: 78682
Updated by: laruence@php.net
Reported by: bugreports at gmail dot com
Summary: wrong executed if-else
-Status: Open
+Status: Feedback
Type: Bug
Package: opcache
Operating System: Linux
PHP Version: master-Git-2019-10-17 (Git)
Block user comment: N
Private report: N
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.
Please avoid embedding huge scripts into the report.
Previous Comments:
------------------------------------------------------------------------
[2019-10-17 22:43:14] bugreports at gmail dot com
it is for sure the jit
$null is also undefined in the same line no matter if it write it with a swicth or if-else while
it's impossible that $null is later in this loop is undefined
comment out that two lines from php.ini and the code works as before
#opcache.jit_buffer_size = 50000000
#opcache.jit = 1235
foreach($this->parent->query_fetch_all("describe $table") as $row)
{
$null = 0;
if(strtolower($row['Null']) === 'yes')
{
$null = 1;
}
..............
}
------------------------------------------------------------------------
[2019-10-17 22:08:40] bugreports at gmail dot com
Description:
------------
it's impossiblöe that $ml is undefined in that if-else statement
opcache.jit_buffer_size = 50000000
opcache.jit = 1235
Warning: Undefined variable: ml in global_mysql_ext.inc.php on line 581
switch($extended)
{
default:
$arr[$row['Field']] = $x_type;
break;
case 1:
if($maxlength)
{
$rw = mysqli_fetch_row($this->parent->query("select
max(length({$row['Field']})) from $table", 1));
$ml = (int)$rw[0];
}
else
{
$ml = 0;
}
$arr[$row['Field']] = ['type'=>$x_type, 'null'=>$null,
'length'=>$length, 'maxlength'=>$ml]; /** this is line 581 */
break;
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78682&edit=1
Thread (5 messages)