Merged revisions 81881-81882 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81881 | andrew.kuchling | 2010-06-10 19:16:08 -0500 (Thu, 10 Jun 2010) | 1 line
#5753: update demo.c to use PySys_SetArgvEx(), and add a comment
........
r81882 | andrew.kuchling | 2010-06-10 19:23:01 -0500 (Thu, 10 Jun 2010) | 1 line
#5753: Suggest PySys_SetArgvEx() instead of PySys_SetArgv()
........
diff --git a/Demo/embed/demo.c b/Demo/embed/demo.c
index 22bfaff..dc8bcf0 100644
--- a/Demo/embed/demo.c
+++ b/Demo/embed/demo.c
@@ -20,10 +20,19 @@
Py_Initialize();
/* Define sys.argv. It is up to the application if you
- want this; you can also let it undefined (since the Python
+ want this; you can also leave it undefined (since the Python
code is generally not a main program it has no business
- touching sys.argv...) */
- PySys_SetArgv(2, args);
+ touching sys.argv...)
+
+ If the third argument is true, sys.path is modified to include
+ either the directory containing the script named by argv[0], or
+ the current working directory. This can be risky; if you run
+ an application embedding Python in a directory controlled by
+ someone else, attackers could put a Trojan-horse module in the
+ directory (say, a file named os.py) that your application would
+ then import and run.
+ */
+ PySys_SetArgvEx(argc, argv, 0);
/* Do some application specific code */
printf("Hello, brave new world\n\n");