Problemunvalidated
the code computes the new allocation as child->length - old_prefix_len + new_prefix_len, then copies the parent prefix with strcpy() and appends the suffix with strcat() — In GNU tar's name hierarchy management, duplicate directory entries are merged by rebasing child paths onto a different parent. Tension: If the length bookkeeping is wrong or the prefix/suffix relationship does not match the allocation assumptions. Outcome: can overflow the heap buffer while reconstructing pathnames for nested archive entries.
9cf670f3-0b6e-46e3-b333-1fad5e32e7a8
the code computes the new allocation as child->length - old_prefix_len + new_prefix_len, then copies the parent prefix with strcpy() and appends the suffix with strcat() — In GNU tar's name hierarchy management, duplicate directory entries are merged by rebasing child paths onto a different parent. Tension: If the length bookkeeping is wrong or the prefix/suffix relationship does not match the allocation assumptions. Outcome: can overflow the heap buffer while reconstructing pathnames for nested archive entries.