diff options
author | Georg Brandl <georg@python.org> | 2010-08-01 18:56:30 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-08-01 18:56:30 (GMT) |
commit | cea7e55998d9e3c24c74fa55e59b252ac592d95e (patch) | |
tree | b4b6ea88f89ad3161fffa8aa98e4f9ece4f42936 /Demo | |
parent | afef78f832d0f2eab287f4ce889baf4d68a4fc63 (diff) | |
download | cpython-cea7e55998d9e3c24c74fa55e59b252ac592d95e.zip cpython-cea7e55998d9e3c24c74fa55e59b252ac592d95e.tar.gz cpython-cea7e55998d9e3c24c74fa55e59b252ac592d95e.tar.bz2 |
Merged revisions 83393,83396,83398,83404-83405,83408 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k
........
r83393 | georg.brandl | 2010-08-01 10:35:29 +0200 (So, 01 Aug 2010) | 1 line
#1690103: fix initial namespace for code run with trace.main().
........
r83396 | georg.brandl | 2010-08-01 10:52:32 +0200 (So, 01 Aug 2010) | 1 line
#4810: document "--" option separator in timeit help.
........
r83398 | georg.brandl | 2010-08-01 11:06:34 +0200 (So, 01 Aug 2010) | 1 line
#8826: the "expires" attribute value is a date string with spaces, but apparently not all user-agents put it in quotes. Handle that as a special case.
........
r83404 | georg.brandl | 2010-08-01 16:25:22 +0200 (So, 01 Aug 2010) | 1 line
#6439: fix argument type for PySys_SetArgvEx() and Py_SetProgramName() in Demo/embed code.
........
r83405 | georg.brandl | 2010-08-01 16:38:17 +0200 (So, 01 Aug 2010) | 1 line
#4943: do not try to include drive letters (and colons) when looking for a probably module name.
........
r83408 | georg.brandl | 2010-08-01 17:30:56 +0200 (So, 01 Aug 2010) | 1 line
#5551: symbolic links never can be mount points. Fixes the fix for #1713.
........
Diffstat (limited to 'Demo')
-rw-r--r-- | Demo/embed/Makefile | 2 | ||||
-rw-r--r-- | Demo/embed/demo.c | 13 | ||||
-rw-r--r-- | Demo/embed/loop.c | 2 |
3 files changed, 13 insertions, 4 deletions
diff --git a/Demo/embed/Makefile b/Demo/embed/Makefile index 857b5e5..711b95b 100644 --- a/Demo/embed/Makefile +++ b/Demo/embed/Makefile @@ -22,7 +22,7 @@ CPPFLAGS= $(INCLUDES) LIBPYTHON= $(blddir)/libpython$(VERSION).a # XXX edit LIBS (in particular) to match $(blddir)/Modules/Makefile -LIBS= -lnsl -ldl -lreadline -ltermcap -lieee -lpthread -lutil +LIBS= -lnsl -ldl -lreadline -lieee -lpthread -lutil LDFLAGS= -Xlinker -export-dynamic SYSLIBS= -lm MODLIBS= diff --git a/Demo/embed/demo.c b/Demo/embed/demo.c index 22bfaff..99d39ca 100644 --- a/Demo/embed/demo.c +++ b/Demo/embed/demo.c @@ -22,8 +22,17 @@ main(int argc, char **argv) /* Define sys.argv. It is up to the application if you want this; you can also let 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(2, args, 0); /* Do some application specific code */ printf("Hello, brave new world\n\n"); diff --git a/Demo/embed/loop.c b/Demo/embed/loop.c index 2f7fe62..4a341fd 100644 --- a/Demo/embed/loop.c +++ b/Demo/embed/loop.c @@ -19,7 +19,7 @@ main(int argc, char **argv) count = atoi(argv[2]); } - Py_SetProgramName(argv[0]); + Py_SetProgramName(L"loop"); /* uncomment this if you don't want to load site.py */ /* Py_NoSiteFlag = 1; */ |