aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-04 19:33:55 +0900
committernsfisis <nsfisis@gmail.com>2026-07-04 19:33:55 +0900
commit3ff81cbade26a5de4e67076854e59b16a270140b (patch)
tree51f0bc2e9f1e37271d4c9deb6be36c35bd39cb2e /crates/shirabe/src
parentdea563685a1da4770c38e1878118636ee7b9b253 (diff)
downloadphp-shirabe-3ff81cbade26a5de4e67076854e59b16a270140b.tar.gz
php-shirabe-3ff81cbade26a5de4e67076854e59b16a270140b.tar.zst
php-shirabe-3ff81cbade26a5de4e67076854e59b16a270140b.zip
fix(platform-repository): avoid infinite recursion in addOverriddenPackage
PHP's addOverriddenPackage calls parent::addPackage() (a non-virtual call straight to ArrayRepository), but the port called self.add_package, re-entering PlatformRepository::add_package. Since the newly created override package's name also starts with "php-", this recursed forever and blew the stack.
Diffstat (limited to 'crates/shirabe/src')
-rw-r--r--crates/shirabe/src/repository/platform_repository.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/shirabe/src/repository/platform_repository.rs b/crates/shirabe/src/repository/platform_repository.rs
index 9dffe66..73c4dbe 100644
--- a/crates/shirabe/src/repository/platform_repository.rs
+++ b/crates/shirabe/src/repository/platform_repository.rs
@@ -1600,7 +1600,7 @@ impl PlatformRepository {
extra.insert("config.platform".to_string(), PhpMixed::Bool(true));
package.inner.set_extra(extra);
let package = CompletePackageHandle::from_complete_package(package);
- self.add_package(package.clone().into())?;
+ self.inner.add_package(package.clone().into())?;
if package.get_name() == "php" {
let parts = explode(".", &package.get_version());