Hello, This is probably a very minor point, but R_CleanTempDir may still have a shell injection in it. I couldn't find a way to shoot the user in the foot in a significant way (by, say, accidentally removing ~), thanks to R disallowing spaces in the path, but if Sys_TempDir somehow acquires a value of "/tmp/';echo;'", R_CleanTempDir() will remove /tmp instead of its aptly-named subdirectory.
While adding the single-quote symbol to the list of special symbols should suffice (it and the backslash being the only allowed ways to "un-quote" a single-quoted string), I would like to suggest solving the problem without the use of quoting: #include <spawn.h> char ** argv = { "rm", "-Rf", Sys_TempDir, NULL }; posix_spawnp(NULL, "rm", NULL, NULL, argv, NULL); Are there Unix-like platforms on which R is intended to work that don't have posix_spawn()? Circa-2014 versions of both Solaris and OpenBSD seem to have it. Spawning the process manually by means of [v]fork() and exec() is probably not worth the maintainer effort required to perform it correctly. -- Best regards, Ivan ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel