From 8f600f2df293d539e9e9137f6f82faa1633b97c1 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 17 Dec 2022 20:56:29 -0800
Subject: [PATCH] sed: fix symlink bufsize readlink check

Problem reported by Hauke Mehrtens.
* sed/utils.c (follow_symlink): Fix typo when checking size of
second and later symlink, when that symlink is so large that it
does not fit into the buffer.  Although the bug is not a buffer
overflow, it does cause sed to mishandle the symlink.
* testsuite/follow-symlinks.sh: Test for the bug.
---
 sed/utils.c                  |  2 +-
 testsuite/follow-symlinks.sh | 13 +++++++++++++
 3 files changed, 18 insertions(+), 1 deletion(-)

--- a/sed/utils.c
+++ b/sed/utils.c
@@ -345,7 +345,7 @@ follow_symlink (const char *fname)
       while ((linklen = (buf_used < buf_size
                          ? readlink (fn, buf + buf_used, buf_size - buf_used)
                          : 0))
-             == buf_size)
+             == buf_size - buf_used)
         {
           buf = xpalloc (buf, &buf_size, 1, SSIZE_IDX_MAX, 1);
           if (num_links)
--- a/testsuite/follow-symlinks.sh
+++ b/testsuite/follow-symlinks.sh
@@ -73,4 +73,17 @@ compare_ exp-la-abs out-la-abs || fail=1
 ln -s la-loop la-loop || framework_failure_
 sed --follow-symlinks -i s/a/b/ la-loop && fail=1
 
+# symlink of length 128
+long=d/
+for i in 2 3 4 5 6 7; do
+  long=$long$long
+done
+dir=${long%/d/}
+file=$dir/xx
+mkdir -p $dir &&
+echo x >$file &&
+ln -s $file yy &&
+ln -s yy xx || framework_failure_
+sed -i --follow-symlinks s/x/y/ xx || fail=1
+
 Exit $fail
