Skip to content

Commit 9bdb073

Browse files
Merge pull request #2997 from ritankarsaha/ritankarsaha/fix/2833/phpfatalerror
Fix(phpfatalerror): fixed uncaught error to member function getRisk()
2 parents 3513991 + ffa55f7 commit 9bdb073

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

src/lib/php/Report/LicenseMainGetter.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,17 @@ protected function getStatements($uploadId, $uploadTreeTableName, $groupId = nul
3939
$allStatements = array();
4040
foreach ($mainLicIds as $originLicenseId) {
4141
$allLicenseCols = $this->licenseDao->getLicenseById($originLicenseId, $groupId);
42+
// Null-check: if the license is missing, log and skip this ID.
43+
if ($allLicenseCols === null) {
44+
error_log("Error: License ID " . $originLicenseId . " not found in the database.");
45+
exit;
46+
}
4247
$allStatements[] = array(
4348
'licenseId' => $originLicenseId,
4449
'risk' => $allLicenseCols->getRisk(),
4550
'content' => $licenseMap->getProjectedSpdxId($originLicenseId),
4651
'text' => $allLicenseCols->getText(),
47-
'name' => $licenseMap->getProjectedShortname($originLicenseId,
48-
$allLicenseCols->getShortName())
52+
'name' => $licenseMap->getProjectedShortname($originLicenseId, $allLicenseCols->getShortName())
4953
);
5054
}
5155
return $allStatements;

src/lib/php/Report/ReportUtils.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,12 @@ public function getFilesWithLicensesFromClearings(
248248
->addAcknowledgement($clearingLicense->getAcknowledgement());
249249
$reportedLicenseId = $this->licenseMap->getProjectedId($clearingLicense->getLicenseId());
250250
$concludedLicense = $this->licenseDao->getLicenseById($reportedLicenseId, $groupId);
251+
if ($concludedLicense === null) {
252+
error_log(
253+
"ReportUtils: warning: clearing-license {$reportedLicenseId} not found; skipping event."
254+
);
255+
continue;
256+
}
251257
if ($clearingEvent->getReportinfo()) {
252258
$customLicenseText = $clearingEvent->getReportinfo();
253259
$reportedLicenseShortname = $concludedLicense->getShortName() . '-' .

src/spdx/agent/spdx.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,23 +224,20 @@ function processUploadId($uploadId)
224224
}
225225
$this->licenseMap = new LicenseMap($this->dbManager, $this->groupId, LicenseMap::REPORT, true);
226226
$this->computeUri($uploadId);
227-
228227
$docLicense = $this->licenseDao->getLicenseByShortName(self::DATA_LICENSE);
229228
$docLicenseId = $docLicense->getId() . "-" . md5($docLicense->getText());
230229
$this->licensesInDocument[$docLicenseId] = (new SpdxLicenseInfo())
231230
->setLicenseObj($docLicense)
232231
->setListedLicense(true)
233232
->setCustomText(false)
234233
->setTextPrinted(true);
235-
236234
$packageNodes = $this->renderPackage($uploadId);
237235
$additionalUploadIds = array_key_exists(self::UPLOAD_ADDS,$args) ? explode(',',$args[self::UPLOAD_ADDS]) : array();
238236
$packageIds = array($uploadId);
239237
foreach ($additionalUploadIds as $additionalId) {
240238
$packageNodes .= $this->renderPackage($additionalId);
241239
$packageIds[] = $additionalId;
242240
}
243-
244241
$this->writeReport($packageNodes, $packageIds, $uploadId);
245242
return true;
246243
}
@@ -384,6 +381,12 @@ protected function renderPackage($uploadId)
384381
foreach ($mainLicenseIds as $licId) {
385382
$reportedLicenseId = $this->licenseMap->getProjectedId($licId);
386383
$mainLicense = $this->licenseDao->getLicenseById($reportedLicenseId, $this->groupId);
384+
if ($mainLicense === null) {
385+
error_log(
386+
"spdx: Error: main license ID {$reportedLicenseId} not found; skipping."
387+
);
388+
exit;
389+
}
387390
$reportLicId = $mainLicense->getId() . "-" . md5($mainLicense->getText());
388391
$mainLicenses[] = $reportLicId;
389392
if (!array_key_exists($reportLicId, $this->licensesInDocument)) {

0 commit comments

Comments
 (0)