OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 12-Mar-2004 14:36:32
Branch: HEAD Handle: 2004031213363100
Modified files:
openpkg-src/uudeview uudeview.patch
Log:
mkstemp security enhancement
Summary:
Revision Changes Path
1.2 +57 -0 openpkg-src/uudeview/uudeview.patch
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/uudeview/uudeview.patch
============================================================================
$ cvs diff -u -r1.1 -r1.2 uudeview.patch
--- openpkg-src/uudeview/uudeview.patch 12 Mar 2004 12:56:33 -0000 1.1
+++ openpkg-src/uudeview/uudeview.patch 12 Mar 2004 13:36:31 -0000 1.2
@@ -33,3 +33,60 @@
/*
* If we don't have all valid MIME headers yet, but the following
+mkstemp security enhancement. Similar to
+FreeBSD http://www.freebsd.org/cgi/query-pr.cgi?pr=41508
+SuSE uudeview-0.5.18-244.src.rpm
+
+--- unix/uudeview.c
++++ unix/uudeview.c
+@@ -434,7 +434,7 @@
+ return 0;
+ }
+
+- if ((stdfile = tempnam (NULL, "uu")) == NULL) {
++ if ((stdfile = _FP_tempnam (NULL, "uu")) == NULL) {
+ fprintf (stderr, "proc_stdin: cannot get temporary file\n");
+ return 0;
+ }
+
+--- uulib/fptools.c
++++ uulib/fptools.c
+@@ -507,5 +507,15 @@
+ char * TOOLEXPORT
+ _FP_tempnam (char *dir, char *pfx)
+ {
+- return _FP_strdup (tmpnam (NULL));
++ int fd;
++ char fileName[100];
++
++ strncpy(fileName, pfx, 90);
++ strcat(fileName, "XXXXXX");
++ fd = mkstemp(fileName);
++ if (fd == -1)
++ return NULL;
++ close(fd);
++ unlink(fileName);
++ return _FP_strdup (fileName);
+ }
+
+--- uulib/uunconc.c
++++ uulib/uunconc.c
+@@ -1264,7 +1264,7 @@
+ else
+ mode = "wb"; /* otherwise in binary */
+
+- if ((data->binfile = tempnam (NULL, "uu")) == NULL) {
++ if ((data->binfile = _FP_tempnam (NULL, "uu")) == NULL) {
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_NO_TEMP_NAME));
+ return UURET_NOMEM;
+@@ -1426,7 +1426,7 @@
+ */
+
+ if (data->uudet == BH_ENCODED && data->binfile) {
+- if ((ntmp = tempnam (NULL, "uu")) == NULL) {
++ if ((ntmp = _FP_tempnam (NULL, "uu")) == NULL) {
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_NO_TEMP_NAME));
+ progress.action = 0;
+
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]