[Python-checkins] r81881 - python/trunk/Demo/embed/demo.c

andrew.kuchling python-checkins at python.org
Fri Jun 11 02:16:08 CEST 2010


Author: andrew.kuchling
Date: Fri Jun 11 02:16:08 2010
New Revision: 81881

Log:
#5753: update demo.c to use PySys_SetArgvEx(), and add a comment

Modified:
   python/trunk/Demo/embed/demo.c

Modified: python/trunk/Demo/embed/demo.c
==============================================================================
--- python/trunk/Demo/embed/demo.c	(original)
+++ python/trunk/Demo/embed/demo.c	Fri Jun 11 02:16:08 2010
@@ -16,10 +16,19 @@
     initxyzzy();
 
     /* 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(argc, argv);
+       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");


More information about the Python-checkins mailing list