On Fri, May 08, 2026 at 08:59:35PM +0800, Kevin J. McCarthy wrote:
This fixes the edge cases tested by Derek Martin.
 "foo/bar/" + "/baz"  gave: "foo/bar//baz" should be: "foo/bar/baz"
 ""         + "/baz"  gave: "//baz"        should be "/bar"
 "/"        + "/foo"  gave  "//foo"        should be "/foo"

All three bugs were triggered by a leading "/" in fname.

The one line strspn() fix is by Alejandro Colomar, but has also been
applied to the lib.c version.

Many thanks to Derek Martin, for noticing the edge case failures,
creating a suite of tests, and also working on proposed patches to fix
the problem.  Also thanks to Rene Kita for his feedback and proposed
version.

In the end, this was the simplest version that was easy to apply to
both concat_path() functions.

I've pushed this to stable and merged it into master.

I realized just after I pushed that I forgot to add your Reviewed-By signature to the commit message, Alex. Sorry about that, but thank you for the review in any case!

--
Kevin J. McCarthy
GPG Fingerprint: 8975 A9B3 3AA3 7910 385C  5308 ADEF 7684 8031 6BDA

Attachment: signature.asc
Description: PGP signature

Reply via email to