Check-in [6d957a95a7]
Overview
Comment:Added patches for Tcl 8.6.0 related to not having a writable /tmp
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6d957a95a7b3d8cf1a2348c991027a3e305ca3c0
User & Date: rkeene on 2013-05-18 18:44:49
Other Links: manifest | tags
Context
2013-07-03
04:59
Updated to remove archives that should not be linked against check-in: 9803654e91 user: rkeene tags: trunk
2013-05-18
18:44
Added patches for Tcl 8.6.0 related to not having a writable /tmp check-in: 6d957a95a7 user: rkeene tags: trunk
2013-05-14
20:14
Updated to produce "Android.mk" in the SDK if the compile looks like Android check-in: b0fcd7911d user: rkeene tags: trunk
Changes

Added tcl/patches/8.6.0/tcl-8.6.0-bug3613567-1tmpdirfix.diff version [500a2d32b5].




















1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -uNr tcl8.6.0.orig/unix/tclUnixFCmd.c tcl8.6.0-bug3613567-1tmpdirfix/unix/tclUnixFCmd.c
--- tcl8.6.0.orig/unix/tclUnixFCmd.c	2012-11-14 11:19:08.000000000 -0600
+++ tcl8.6.0-bug3613567-1tmpdirfix/unix/tclUnixFCmd.c	2013-05-18 13:34:13.591452500 -0500
@@ -2226,13 +2226,13 @@
 
     dir = getenv("TMPDIR");
     if (dir && dir[0] && stat(dir, &buf) == 0 && S_ISDIR(buf.st_mode)
-	    && access(dir, W_OK)) {
+	    && access(dir, W_OK) == 0) {
 	return dir;
     }
 
 #ifdef P_tmpdir
     dir = P_tmpdir;
-    if (stat(dir, &buf) == 0 && S_ISDIR(buf.st_mode) && access(dir, W_OK)) {
+    if (stat(dir, &buf) == 0 && S_ISDIR(buf.st_mode) && access(dir, W_OK) == 0) {
 	return dir;
     }
 #endif

Added tcl/patches/8.6.0/tcl-8.6.0-bug3613569-1segfaultonnotmp.diff version [169bee81f7].






















1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -uNr tcl8.6.0.orig/generic/tclIOUtil.c tcl8.6.0-1segfaultonnotmp/generic/tclIOUtil.c
--- tcl8.6.0.orig/generic/tclIOUtil.c	2012-10-25 06:43:59.000000000 -0500
+++ tcl8.6.0-1segfaultonnotmp/generic/tclIOUtil.c	2013-05-18 13:23:32.370452500 -0500
@@ -3228,9 +3228,15 @@
      */
 
     copyToPtr = TclpTempFileNameForLibrary(interp, pathPtr);
-    Tcl_IncrRefCount(copyToPtr);
 
-    copyFsPtr = Tcl_FSGetFileSystemForPath(copyToPtr);
+    if (copyToPtr != NULL) {
+        Tcl_IncrRefCount(copyToPtr);
+
+        copyFsPtr = Tcl_FSGetFileSystemForPath(copyToPtr);
+    } else {
+        copyFsPtr = NULL;
+    }
+
     if ((copyFsPtr == NULL) || (copyFsPtr == fsPtr)) {
 	/*
 	 * We already know we can't use Tcl_FSLoadFile from this filesystem,