[コア] 例外レンダリング時のnull参照を防止しました #2266
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
概要
例外経路(例: /index.php%3F などの変則URL)で
ConnectInitミドルウェアが未実行のままエラービュー描画に進む場合があり、その際にレイアウトから呼ばれるUploadController::getSiteCssTimestamp()→Configs::getSharedConfigs()がnullを返し、firstWhere()実行時に「Call to a member function firstWhere() on null」で 500 となっていました。対策として、
Configs::getSharedConfigs()がnullを返す状況ではcollect()(空コレクション)でフォールバックするようにし、例外レンダリング時の null 参照を防止しました。正常系の挙動に影響はありません。変更内容:
getSharedConfigs()に null ガードを追加し、$request->attributes['configs']が未設定の場合はcollect()を返却レビュー完了希望日
軽微な修正のため急ぎません。ご都合の良いタイミングでご確認ください。
関連Pull requests/Issues
なし
参考
?version=生成でUploadController::getSiteCssTimestamp()呼び出しDB変更の有無
無し
チェックリスト