Changeset 23573


Ignore:
Timestamp:
2014/07/15 14:28:59 (10 years ago)
Author:
shutta
Message:

#2596 (SC_Helper_DB::sfGetParentsArray()の無限ループの予防)
最大階層(LEVEL_MAX)回以上ループさせないようにした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/helper/SC_Helper_DB.php

    r23546 r23573  
    902902        $ret = $id; 
    903903 
     904        $loop_cnt = 1; 
    904905        while ($ret != '0' && !SC_Utils_Ex::isBlank($ret)) { 
     906            // 無限ループの予防 
     907            if ($loop_cnt > LEVEL_MAX) { 
     908                trigger_error('最大階層制限到達', E_USER_ERROR); 
     909            } 
     910 
    905911            $arrParents[] = $ret; 
    906912            $ret = SC_Helper_DB_Ex::sfGetParentsArraySub($table, $pid_name, $id_name, $ret); 
     913 
     914            ++$loop_cnt; 
    907915        } 
    908916 
Note: See TracChangeset for help on using the changeset viewer.