SearchMaxResultsに非数値を設定したときのuuvを回避する

Description

https://movabletype.atlassian.net/browse/MTC-28921Can't find linkから派生。

mt-config.cgi で SearchMaxResults を 非数値のみの文字列にすると s/\D//g"" に変換され、下記のuuvを発生する。

Use of uninitialized value $max in numeric gt (>) at /app/movabletype/lib/MT/App/Search/TagSearch.pm line ... Use of uninitialized value $max in numeric gt (>) at /app/movabletype/lib/MT/App/Search.pm line ... Use of uninitialized value $max in numeric gt (>) at /app/movabletype/lib/MT/App/Search/ContentData.pm line ...

それぞれ下記のDataAPIエンドポイントで確認できる。

/cgi-bin/mt/mt-data-api.cgi/v5/search?search=a

/cgi-bin/mt/mt-data-api.cgi/v5/search?IncludeBlogs=all&search=a&tagSearch=1

/cgi-bin/mt/mt-data-api.cgi/v5/search?cdSearch=1&SearchContentTypes=15&IncludeBlogs=all&search=a

Checklists

None

Activity

Show:

Keita Sugama June 21, 2023 at 4:04 AM

ありがとうございます。マージしました。

Chieko Matsuo June 21, 2023 at 2:03 AM

7.902.0にて、上記の手順でログにuuvが記録されないことを確認しました。

Keita Sugama June 15, 2023 at 4:33 AM

ありがとうございます。

QAをお願いできますでしょうか。

PR

https://github.com/movabletype/movabletype/pull/2664

手順

  1. mt-config.cgi で SearchMaxResults INVALID を設定する。

  2. 下記のURLにアクセスする。
    /cgi-bin/mt/mt-data-api.cgi/v5/search?search=a

    /cgi-bin/mt/mt-data-api.cgi/v5/search?IncludeBlogs=all&search=a&tagSearch=1

    /cgi-bin/mt/mt-data-api.cgi/v5/search?cdSearch=1&SearchContentTypes=15&IncludeBlogs=all&search=a

  3. (期待する動作)PSGIログに Use of uninitialized value $max in numeric gt (>)のようなログが記録されない。

Kenichi Ishigaki June 14, 2023 at 5:08 AM

ありがとうございます。問題ないとおもいます。

Keita Sugama June 14, 2023 at 1:55 AM

修正しました。レビューをお願いできますでしょうか。

SearchMaxResults が不正な場合、既存の動作を変えないために 0 にフォールバックするようにしました。

Implemented

Details

Assignee

Keita Sugama

Reporter

Fix versions

Priority

Smart Checklist

Created June 14, 2023 at 1:15 AM
Updated June 21, 2023 at 4:04 AM
Resolved June 21, 2023 at 4:04 AM