Pre-filter sed's input by dd to avoid long delays and unlimited memory consumption. Version: 2.4.2-14 Resolves: #636045
44 lines
1.1 KiB
Diff
44 lines
1.1 KiB
Diff
diff --git a/libltdl/config/ltmain.sh b/libltdl/config/ltmain.sh
|
|
index 63ae69d..36625c7 100644
|
|
--- a/libltdl/config/ltmain.sh
|
|
+++ b/libltdl/config/ltmain.sh
|
|
@@ -82,6 +82,7 @@ PROGRAM=libtool
|
|
PACKAGE=libtool
|
|
VERSION=2.4.2
|
|
TIMESTAMP=""
|
|
+: ${DD=dd}
|
|
package_revision=1.3337
|
|
|
|
# Be Bourne compatible
|
|
@@ -1224,6 +1225,21 @@ func_enable_tag "$optarg"
|
|
## Main. ##
|
|
## ----------- ##
|
|
|
|
+# func_try_sizelim file n
|
|
+# try to write at most the first N bytes from FILE to the standard output when
|
|
+# possible, otherwise put whole file
|
|
+func_try_sizelim ()
|
|
+{
|
|
+ if test -n "$DD"; then
|
|
+ $DD if="$1" bs=$2 count=1 2>/dev/null
|
|
+ if test $? -eq 127; then
|
|
+ cat "$1" 2>/dev/null
|
|
+ fi
|
|
+ else
|
|
+ cat "$1" 2>/dev/null
|
|
+ fi
|
|
+}
|
|
+
|
|
# func_lalib_p file
|
|
# True iff FILE is a libtool `.la' library or `.lo' object file.
|
|
# This function is only a basic sanity check; it will hardly flush out
|
|
@@ -1231,7 +1247,7 @@ func_enable_tag "$optarg"
|
|
func_lalib_p ()
|
|
{
|
|
test -f "$1" &&
|
|
- $SED -e 4q "$1" 2>/dev/null \
|
|
+ func_try_sizelim "$1" 4096 | $SED -e 4q 2>/dev/null \
|
|
| $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
|
|
}
|
|
|