]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Don't allow /private/tmp or /tmp for TempDir on OS X.
authormike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Fri, 14 Dec 2012 18:41:13 +0000 (18:41 +0000)
committermike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Fri, 14 Dec 2012 18:41:13 +0000 (18:41 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10770 7a7537e8-13f0-0310-91df-b6672ffda945

scheduler/conf.c

index 1d741d041fd7e2edfe96562768f881470d7778fe..6283ea0c544bbae307a3d22bda1a288777479f68 100644 (file)
@@ -1141,11 +1141,21 @@ cupsdReadConfiguration(void)
   * Update TempDir to the default if it hasn't been set already...
   */
 
+#ifdef __APPLE__
+  if (TempDir &&
+      (!strncmp(TempDir, "/private/tmp", 12) || !strncmp(TempDir, "/tmp", 4)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot use %s for TempDir.", TempDir);
+    cupsdClearString(&TempDir);
+  }
+  else
+#endif /* __APPLE__ */
+
   if (!TempDir)
   {
 #ifdef __APPLE__
     if ((tmpdir = getenv("TMPDIR")) != NULL &&
-        strncmp(tmpdir, "/private/tmp", 12))
+        strncmp(tmpdir, "/private/tmp", 12) && strncmp(tmpdir, "/tmp", 4))
 #else
     if ((tmpdir = getenv("TMPDIR")) != NULL)
 #endif /* __APPLE__ */