-#
+#
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
include $(TOPDIR)/rules.mk
PKG_NAME:=sed
-PKG_VERSION:=4.9
+PKG_VERSION:=4.10
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_HASH:=d1478a18f033a73ac16822901f6533d30b6be561bcbce46ffd7abce93602282e
+PKG_HASH:=4d179ffaf92ec4dcec541f7c032be1c3b9a1856f4970adb95a505221702f5277
PKG_CPE_ID:=cpe:/a:gnu:sed
export SED:=
--disable-i18n \
--without-selinux
-HOST_CONFIGURE_VARS += \
- ac_cv_search_setfilecon=no \
- ac_cv_header_selinux_context_h=no \
- ac_cv_header_selinux_selinux_h=no \
-
define Host/Compile
+$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) SHELL="$(BASH)"
endef
+++ /dev/null
-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