Ticket #1398 (closed バグ指摘: 修正済)

Opened 9 years ago

Last modified 9 years ago

SC_Utils::isBlank() で, 空白文字列をのみの配列を処理できない

Reported by: nanasess Owned by: nanasess
Priority: Milestone: EC-CUBE2.11.2
Component: その他 Version: 2.11.1
Keywords: Cc:
修正済み: yes

Description

MPV 様, taji 様のご報告

以下のようなコードが正しく処理できない. PHP 5.3未満では false を返し, PHP5.3.x では Warning が発生してしまう.

<?php
$array[0] = "";
$ret = SC_Utils::isBlank($array);
var_dump($ret);
?>

参考

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=8287&forum=9

Change History

comment:1 Changed 9 years ago by nanasess

パッチの案

  • data/class/util/SC_Utils.php

    === modified file 'data/class/util/SC_Utils.php'
     
    20432043                if (empty($val)) { 
    20442044                    return true; 
    20452045                } 
     2046                $array_result = true; 
    20462047                foreach ($val as $in) { 
    20472048                    /* 
    20482049                     * SC_Utils_Ex への再帰は無限ループやメモリリークの懸念 
    20492050                     * 自クラスへ再帰する. 
    20502051                     */ 
    2051                     if (!SC_Utils::isBlank($in, $greedy)) { 
     2052                    $array_result = SC_Utils::isBlank($in, $greedy); 
     2053                    if (!$array_result) { 
    20522054                        return false; 
    20532055                    } 
    20542056                } 
     2057                return $array_result; 
    20552058            } else { 
    20562059                return empty($val); 
    20572060            } 

comment:2 Changed 9 years ago by nanasess

  • Owner changed from somebody to nanasess
  • 修正済み set
  • Status changed from new to assigned

r21014 で修正

comment:3 Changed 9 years ago by kajiwara

  • Status changed from assigned to closed
  • Resolution set to 修正済
Note: See TracTickets for help on using tickets.