diff options
-rwxr-xr-x | bin/ebuild-helpers/unprivileged/chown | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/ebuild-helpers/unprivileged/chown b/bin/ebuild-helpers/unprivileged/chown index cad34d947..08fa650c5 100755 --- a/bin/ebuild-helpers/unprivileged/chown +++ b/bin/ebuild-helpers/unprivileged/chown @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2012 Gentoo Foundation +# Copyright 2012-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 scriptpath=${BASH_SOURCE[0]} @@ -13,6 +13,14 @@ for path in ${PATH}; do IFS=$' \t\n' output=$("${path}/${scriptname}" "$@" 2>&1) if [[ $? -ne 0 ]] ; then + + # Avoid an extreme performance problem when the + # output is very long (bug #470992). + if [[ $(wc -l <<< "${output}") -gt 100 ]]; then + output=$(head -n100 <<< "${output}") + output="${output}\n ... (further messages truncated)" + fi + source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh if ! ___eapi_has_prefix_variables; then |