[Python-checkins] r79131 - in python/branches/release26-maint: Lib/test/test_os.py Misc/NEWS Modules/posixmodule.c

matthias.klose python-checkins at python.org
Sat Mar 20 03:13:49 CET 2010


Author: matthias.klose
Date: Sat Mar 20 03:13:49 2010
New Revision: 79131

Log:
Merged revisions 79096 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79096 | matthias.klose | 2010-03-19 15:45:06 +0100 (Fr, 19 Mär 2010) | 2 lines
  
  - Issue #1039, #8154: Fix os.execlp() crash with missing 2nd argument.
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/test/test_os.py
   python/branches/release26-maint/Misc/NEWS
   python/branches/release26-maint/Modules/posixmodule.c

Modified: python/branches/release26-maint/Lib/test/test_os.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_os.py	(original)
+++ python/branches/release26-maint/Lib/test/test_os.py	Sat Mar 20 03:13:49 2010
@@ -511,6 +511,9 @@
         except NotImplementedError:
             pass
 
+    def test_execvpe_with_bad_arglist(self):
+        self.assertRaises(ValueError, os.execvpe, 'notepad', [], None)
+
 class Win32ErrorTests(unittest.TestCase):
     def test_rename(self):
         self.assertRaises(WindowsError, os.rename, test_support.TESTFN, test_support.TESTFN+".bak")

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Sat Mar 20 03:13:49 2010
@@ -15,6 +15,8 @@
 Library
 -------
 
+- Issue #1039, #8154: Fix os.execlp() crash with missing 2nd argument.
+
 - Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
   with Tcl/Tk-8.5.
 

Modified: python/branches/release26-maint/Modules/posixmodule.c
==============================================================================
--- python/branches/release26-maint/Modules/posixmodule.c	(original)
+++ python/branches/release26-maint/Modules/posixmodule.c	Sat Mar 20 03:13:49 2010
@@ -2979,6 +2979,11 @@
                 PyMem_Free(path);
 		return NULL;
 	}
+	if (argc < 1) {
+		PyErr_SetString(PyExc_ValueError, "execv() arg 2 must not be empty");
+                PyMem_Free(path);
+		return NULL;
+	}
 
 	argvlist = PyMem_NEW(char *, argc+1);
 	if (argvlist == NULL) {


More information about the Python-checkins mailing list