Blob Blame History Raw
diff -ur arts-1.5.10/mcop/mcoputils.cc arts-1.5.10-CVE-2015-7543/mcop/mcoputils.cc
--- arts-1.5.10/mcop/mcoputils.cc	2008-02-13 10:35:23.000000000 +0100
+++ arts-1.5.10-CVE-2015-7543/mcop/mcoputils.cc	2015-12-10 09:48:55.553331662 +0100
@@ -309,7 +309,11 @@
      if (result == 0) return 0; /* Success */
      unlink(kde_tmp_dir);
      strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
+#if 0
      mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
+#else
+     if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */
+#endif
      return create_link(kde_tmp_dir, user_tmp_dir);
   }
   if ((result == -1) || (!S_ISLNK(stat_buf.st_mode)))
@@ -335,7 +339,11 @@
      if (result == 0) return 0; /* Success */
      unlink(kde_tmp_dir);
      strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
+#if 0
      mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
+#else
+     if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */
+#endif
      return create_link(kde_tmp_dir, user_tmp_dir);
      return 1;
   }
@@ -343,7 +351,11 @@
   if (result == 0) return 0; /* Success */
   unlink(kde_tmp_dir);
   strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
+#if 0
   mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
+#else
+     if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */
+#endif
   return create_link(kde_tmp_dir, user_tmp_dir);
 }