diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-04 19:33:55 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-04 19:33:55 +0900 |
| commit | 3ff81cbade26a5de4e67076854e59b16a270140b (patch) | |
| tree | 51f0bc2e9f1e37271d4c9deb6be36c35bd39cb2e /crates/shirabe/src/repository/platform_repository.rs | |
| parent | dea563685a1da4770c38e1878118636ee7b9b253 (diff) | |
| download | php-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/repository/platform_repository.rs')
| -rw-r--r-- | crates/shirabe/src/repository/platform_repository.rs | 2 |
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()); |
