From 41ec072d1644cf9b33030975b50a33e51bed2d9b Mon Sep 17 00:00:00 2001 From: Thiemo Kreuz Date: Thu, 28 Oct 2021 11:03:11 +0200 Subject: [PATCH] Add missing null to string casts when using rd_fragment and such These columns are nullable, but the method doesn't accept null. Found in Logstash. Change-Id: I3eaafe31005c9319fdd03f8f4b54e7b51ef430f9 --- includes/api/ApiPageSet.php | 4 ++-- includes/jobqueue/jobs/DoubleRedirectJob.php | 2 +- includes/specials/SpecialBrokenRedirects.php | 6 +++++- includes/specials/SpecialListRedirects.php | 8 +++++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/includes/api/ApiPageSet.php b/includes/api/ApiPageSet.php index 6c2f096b698..361b96143f5 100644 --- a/includes/api/ApiPageSet.php +++ b/includes/api/ApiPageSet.php @@ -1212,8 +1212,8 @@ class ApiPageSet extends ApiBase { $to = Title::makeTitle( $row->rd_namespace, $row->rd_title, - $row->rd_fragment, - $row->rd_interwiki + $row->rd_fragment ?? '', + $row->rd_interwiki ?? '' ); $this->mResolvedRedirectTitles[$from] = $this->mPendingRedirectIDs[$rdfrom]; unset( $this->mPendingRedirectIDs[$rdfrom] ); diff --git a/includes/jobqueue/jobs/DoubleRedirectJob.php b/includes/jobqueue/jobs/DoubleRedirectJob.php index bed8483009a..1f42f38d8af 100644 --- a/includes/jobqueue/jobs/DoubleRedirectJob.php +++ b/includes/jobqueue/jobs/DoubleRedirectJob.php @@ -234,7 +234,7 @@ class DoubleRedirectJob extends Job { $row->rd_namespace, $row->rd_title, '', - $row->rd_interwiki + $row->rd_interwiki ?? '' ); } } diff --git a/includes/specials/SpecialBrokenRedirects.php b/includes/specials/SpecialBrokenRedirects.php index 4df51d88620..1002544e9ee 100644 --- a/includes/specials/SpecialBrokenRedirects.php +++ b/includes/specials/SpecialBrokenRedirects.php @@ -121,7 +121,11 @@ class SpecialBrokenRedirects extends QueryPage { public function formatResult( $skin, $result ) { $fromObj = Title::makeTitle( $result->namespace, $result->title ); if ( isset( $result->rd_title ) ) { - $toObj = Title::makeTitle( $result->rd_namespace, $result->rd_title, $result->rd_fragment ); + $toObj = Title::makeTitle( + $result->rd_namespace, + $result->rd_title, + $result->rd_fragment ?? '' + ); } else { $blinks = $fromObj->getBrokenLinksFrom(); # TODO: check for redirect, not for links if ( $blinks ) { diff --git a/includes/specials/SpecialListRedirects.php b/includes/specials/SpecialListRedirects.php index 7a31c768ece..05641e1fb4b 100644 --- a/includes/specials/SpecialListRedirects.php +++ b/includes/specials/SpecialListRedirects.php @@ -124,9 +124,11 @@ class SpecialListRedirects extends QueryPage { */ protected function getRedirectTarget( $row ) { if ( isset( $row->rd_title ) ) { - return Title::makeTitle( $row->rd_namespace, - $row->rd_title, $row->rd_fragment, - $row->rd_interwiki + return Title::makeTitle( + $row->rd_namespace, + $row->rd_title, + $row->rd_fragment ?? '', + $row->rd_interwiki ?? '' ); } else { $title = Title::makeTitle( $row->namespace, $row->title );