diff options
author | 2004-06-23 14:48:59 +0000 | |
---|---|---|
committer | 2004-06-23 14:48:59 +0000 | |
commit | 7c8a002da9a0958644880dab86737ee49cc747e1 (patch) | |
tree | 196f5e660803f13d36143e5e80d78033d28aec06 /app-arch/gzip/files | |
parent | make sure X gets disabled when USE=-X #53331 (Manifest recommit) (diff) | |
download | gentoo-2-7c8a002da9a0958644880dab86737ee49cc747e1.tar.gz gentoo-2-7c8a002da9a0958644880dab86737ee49cc747e1.tar.bz2 gentoo-2-7c8a002da9a0958644880dab86737ee49cc747e1.zip |
Check exit status of tempfile command #54890
Update to 1.3.5 plus Debian patches to fix segfault on alpha #53641
Diffstat (limited to 'app-arch/gzip/files')
-rw-r--r-- | app-arch/gzip/files/digest-gzip-1.3.3-r3 (renamed from app-arch/gzip/files/digest-gzip-1.3.3-r2) | 0 | ||||
-rw-r--r-- | app-arch/gzip/files/digest-gzip-1.3.5 | 2 | ||||
-rw-r--r-- | app-arch/gzip/files/gzip-1.3.3-security.patch | 4 | ||||
-rw-r--r-- | app-arch/gzip/files/gzip-1.3.5-security.patch | 35 |
4 files changed, 39 insertions, 2 deletions
diff --git a/app-arch/gzip/files/digest-gzip-1.3.3-r2 b/app-arch/gzip/files/digest-gzip-1.3.3-r3 index 8ee90a6f0a0d..8ee90a6f0a0d 100644 --- a/app-arch/gzip/files/digest-gzip-1.3.3-r2 +++ b/app-arch/gzip/files/digest-gzip-1.3.3-r3 diff --git a/app-arch/gzip/files/digest-gzip-1.3.5 b/app-arch/gzip/files/digest-gzip-1.3.5 new file mode 100644 index 000000000000..70ca4140d8e2 --- /dev/null +++ b/app-arch/gzip/files/digest-gzip-1.3.5 @@ -0,0 +1,2 @@ +MD5 3d6c191dfd2bf307014b421c12dc8469 gzip_1.3.5.orig.tar.gz 331550 +MD5 316503963781d09d41f5a8beecd4e824 gzip_1.3.5-8.diff.gz 53940 diff --git a/app-arch/gzip/files/gzip-1.3.3-security.patch b/app-arch/gzip/files/gzip-1.3.3-security.patch index cbebfaf679d9..460b917f7899 100644 --- a/app-arch/gzip/files/gzip-1.3.3-security.patch +++ b/app-arch/gzip/files/gzip-1.3.3-security.patch @@ -10,8 +10,8 @@ umask=`umask` umask 77 -if tail +$skip $0 | "BINDIR"/gzip -cd > /tmp/gztmp$$; then -+tmpfile=$(tempfile -p gztmp -d /tmp) -+if tail +$skip $0 | /bin/gzip -cd >> $tmpfile; then ++tmpfile=`tempfile -p gztmp -d /tmp` || exit 1 ++if tail +$skip "$0" | /bin/gzip -cd >> $tmpfile; then umask $umask - /bin/chmod 700 /tmp/gztmp$$ + /bin/chmod 700 $tmpfile diff --git a/app-arch/gzip/files/gzip-1.3.5-security.patch b/app-arch/gzip/files/gzip-1.3.5-security.patch new file mode 100644 index 000000000000..08eeea1b21c5 --- /dev/null +++ b/app-arch/gzip/files/gzip-1.3.5-security.patch @@ -0,0 +1,35 @@ +--- gzexe.in.orig 2004-06-23 05:36:22.000000000 -0400 ++++ gzexe.in 2004-06-23 05:53:53.000000000 -0400 +@@ -114,22 +114,23 @@ + if test $decomp -eq 0; then + sed 1q $0 > $tmp + sed "s|^if tail|if $tail|" >> $tmp <<'EOF' +-skip=22 ++skip=23 + set -C + umask=`umask` + umask 77 +-if tail +$skip "$0" | /bin/gzip -cd > /tmp/gztmp$$; then ++tmpfile=`tempfile -d /tmp -p gztmp` || exit 1 ++if tail +$skip "$0" | /bin/gzip -cd >> $tmpfile; then + umask $umask +- /bin/chmod 700 /tmp/gztmp$$ ++ /bin/chmod 700 $tmpfile + prog="`echo $0 | /bin/sed 's|^.*/||'`" +- if /bin/ln /tmp/gztmp$$ "/tmp/$prog" 2>/dev/null; then +- trap '/bin/rm -f /tmp/gztmp$$ "/tmp/$prog"; exit $res' 0 +- (/bin/sleep 5; /bin/rm -f /tmp/gztmp$$ "/tmp/$prog") 2>/dev/null & ++ if /bin/ln $tmpfile "/tmp/$prog" 2>/dev/null; then ++ trap '/bin/rm -f $tmpfile "/tmp/$prog"; exit $res' 0 ++ (/bin/sleep 5; /bin/rm -f $tmpfile "/tmp/$prog") 2>/dev/null & + /tmp/"$prog" ${1+"$@"}; res=$? + else +- trap '/bin/rm -f /tmp/gztmp$$; exit $res' 0 +- (/bin/sleep 5; /bin/rm -f /tmp/gztmp$$) 2>/dev/null & +- /tmp/gztmp$$ ${1+"$@"}; res=$? ++ trap '/bin/rm -f $tmpfile; exit $res' 0 ++ (/bin/sleep 5; /bin/rm -f $tmpfile) 2>/dev/null & ++ $tmpfile ${1+"$@"}; res=$? + fi + else + echo Cannot decompress $0; exit 1 |