Use mktemp and use it properly.

* fixes bug 632879 and bug 499234 (which is CVE-2009-1573)

Signed-off-by: Matěj Cepl <mcepl@redhat.com>
(cherry picked from commit 6753065f95)
This commit is contained in:
Matěj Cepl 2010-09-13 11:28:30 +02:00
parent 3cf5861486
commit 41b6300ced
2 changed files with 11 additions and 10 deletions

View File

@ -30,7 +30,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.9.0
Release: 7%{?gitdate:.%{gitdate}}%{dist}
Release: 8%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -554,6 +554,9 @@ rm -rf $RPM_BUILD_ROOT
%{xserver_source_dir}
%changelog
* Mon Sep 13 2010 Matěj Cepl <mcepl@redhat.com> - 1.9.0-8
- Call mktemp correctly (fixes RHBZ bug 632879
* Thu Sep 02 2010 Adam Jackson <ajax@redhat.com> 1.9.0-7
- ... but only in F15 and later.

View File

@ -146,19 +146,17 @@ fi
# If the user did not specify an X authorization file to use, set up a temporary
# directory to house one.
if [ -z "$AUTHFILE" ]; then
XVFB_RUN_TMPDIR="${TMPDIR:-/tmp}/$PROGNAME.$$"
if ! mkdir -p -m 700 "$XVFB_RUN_TMPDIR"; then
error "temporary directory $XVFB_RUN_TMPDIR already exists"
exit 4
fi
AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority)
XVFB_RUN_TMPDIR="$(mktemp --directory --tmpdir $PROGNAME.XXXXXX)"
AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority.XXXXXX)
fi
# Start Xvfb.
MCOOKIE=$(mcookie)
XAUTHORITY=$AUTHFILE xauth add ":$SERVERNUM" "$XAUTHPROTO" "$MCOOKIE" \
>"$ERRORFILE" 2>&1
XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >"$ERRORFILE" \
XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
add :$SERVERNUM $XAUTHPROTO $MCOOKIE
EOF
XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
2>&1 &
XVFBPID=$!
sleep "$STARTWAIT"