Package: uudeview
Version: 0.5.20-2
Severity: normal
Tags: patch
Hi,
Attached is the diff for my uudeview 0.5.20-2.1 NMU.
diff -Nru /tmp/LIWATMYcAJ/uudeview-0.5.20/debian/changelog
/tmp/jyF8Bj8Ke3/uudeview-0.5.20/debian/changelog
--- /tmp/LIWATMYcAJ/uudeview-0.5.20/debian/changelog 2006-06-14
18:45:38.000000000 +0200
+++ /tmp/jyF8Bj8Ke3/uudeview-0.5.20/debian/changelog 2006-06-14
18:45:39.000000000 +0200
@@ -1,3 +1,12 @@
+uudeview (0.5.20-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix possible (but highly unlikely) race in temporary file generation
+ (CAN-2004-2265), by passing the "x" (O_EXCL) flag to fopen when opening
+ such files. (Closes: #320541)
+
+ -- Steinar H. Gunderson <[EMAIL PROTECTED]> Wed, 14 Jun 2006 18:44:05 +0200
+
uudeview (0.5.20-2) unstable; urgency=high
* Urgency high for RC bug fix.
diff -Nru /tmp/LIWATMYcAJ/uudeview-0.5.20/unix/uudeview.c
/tmp/jyF8Bj8Ke3/uudeview-0.5.20/unix/uudeview.c
--- /tmp/LIWATMYcAJ/uudeview-0.5.20/unix/uudeview.c 2003-04-13
01:33:55.000000000 +0200
+++ /tmp/jyF8Bj8Ke3/uudeview-0.5.20/unix/uudeview.c 2006-06-14
18:45:39.000000000 +0200
@@ -454,7 +454,7 @@
return 0;
}
- if ((target = fopen (stdfile, "wb")) == NULL) {
+ if ((target = fopen (stdfile, "wbx")) == NULL) {
fprintf (stderr, "proc_stdin: cannot open temp file %s for writing: %s\n",
stdfile, strerror (errno));
_FP_free (stdfile);
diff -Nru /tmp/LIWATMYcAJ/uudeview-0.5.20/uulib/uunconc.c
/tmp/jyF8Bj8Ke3/uudeview-0.5.20/uulib/uunconc.c
--- /tmp/LIWATMYcAJ/uudeview-0.5.20/uulib/uunconc.c 2004-03-01
23:52:27.000000000 +0100
+++ /tmp/jyF8Bj8Ke3/uudeview-0.5.20/uulib/uunconc.c 2006-06-14
18:45:39.000000000 +0200
@@ -1325,9 +1325,9 @@
return UURET_NODATA;
if (data->uudet == PT_ENCODED)
- mode = "wt"; /* open text files in text mode */
+ mode = "wtx"; /* open text files in text mode */
else
- mode = "wb"; /* otherwise in binary */
+ mode = "wbx"; /* otherwise in binary */
if ((data->binfile = tempnam (NULL, "uu")) == NULL) {
UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
@@ -1502,7 +1502,7 @@
progress.action = 0;
return UURET_NOMEM;
}
- if ((datain = fopen (data->binfile, "rb")) == NULL) {
+ if ((datain = fopen (data->binfile, "rbx")) == NULL) {
UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
uustring (S_NOT_OPEN_FILE),
data->binfile, strerror (uu_errno = errno));