| Summary: | eix does not parse deep cascading profiles | ||
|---|---|---|---|
| Product: | Portage Development | Reporter: | ash |
| Component: | Third-Party Tools | Assignee: | Benedikt Böhm (RETIRED) <hollow> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | emilbeinroth |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
Fixed in upstream-cvs. This bug shouldn't currently affect anyone, because the longest string from the "parent"-files is "../../../default-linux/amd64/2005.0/no-multilib" (48 character). Can you confirm this? The bug is caused by parsing 'parent' files with long strings inside of them. usr/portage/profiles/default-linux/amd64/2005.1/no-multilib/parent contains string '# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/amd64/2005.1/ no-multilib/parent,v 1.1 2005/06/04 21:20:09 eradicator Exp $', which is 132 symbols long. fixed |
If `parent' file of a cascading profile contains strings that are longer than 127 chars (this happens when profile is deep, e.g. /usr/portage/profiles/default-linux/amd64/2005.1/no-multilib/parent), then profile is not parsed fully. The problem is caused by too small buffer: bool CascadingProfile::getParentProfile(string &path_buffer) { int _buflen = 128; // here char _buf[_buflen]; Reproducible: Always Steps to Reproduce: