mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Merged revisions 84408-84409 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r84408 | antoine.pitrou | 2010-09-01 23:14:16 +0200 (mer., 01 sept. 2010) | 4 lines Issue #9737: Fix a crash when trying to delete a slice or an item from a memoryview object. ........ r84409 | antoine.pitrou | 2010-09-01 23:14:46 +0200 (mer., 01 sept. 2010) | 3 lines Fix a compilation warning ........
This commit is contained in:
		
							parent
							
								
									38164c3b04
								
							
						
					
					
						commit
						f43f65b69f
					
				
					 3 changed files with 18 additions and 1 deletions
				
			
		|  | @ -111,6 +111,15 @@ def setitem(key, value): | |||
|         m = None | ||||
|         self.assertEquals(sys.getrefcount(b), oldrefcount) | ||||
| 
 | ||||
|     def test_delitem(self): | ||||
|         for tp in self._types: | ||||
|             b = tp(self._source) | ||||
|             m = self._view(b) | ||||
|             with self.assertRaises(TypeError): | ||||
|                 del m[1] | ||||
|             with self.assertRaises(TypeError): | ||||
|                 del m[1:4] | ||||
| 
 | ||||
|     def test_tobytes(self): | ||||
|         for tp in self._types: | ||||
|             m = self._view(tp(self._source)) | ||||
|  |  | |||
|  | @ -12,6 +12,9 @@ What's New in Python 3.1.3? | |||
| Core and Builtins | ||||
| ----------------- | ||||
| 
 | ||||
| - Issue #9737: Fix a crash when trying to delete a slice or an item from | ||||
|   a memoryview object. | ||||
| 
 | ||||
| - Issue #7415: PyUnicode_FromEncodedObject() now uses the new buffer API | ||||
|   properly.  Patch by Stefan Behnel. | ||||
| 
 | ||||
|  |  | |||
|  | @ -179,7 +179,7 @@ _indirect_copy_nd(char *dest, Py_buffer *view, char fort) | |||
|     int k; | ||||
|     Py_ssize_t elements; | ||||
|     char *ptr; | ||||
|     void (*func)(int, Py_ssize_t *, Py_ssize_t *); | ||||
|     void (*func)(int, Py_ssize_t *, const Py_ssize_t *); | ||||
| 
 | ||||
|     if (view->ndim > PY_SSIZE_T_MAX / sizeof(Py_ssize_t)) { | ||||
|         PyErr_NoMemory(); | ||||
|  | @ -631,6 +631,11 @@ memory_ass_sub(PyMemoryViewObject *self, PyObject *key, PyObject *value) | |||
|             "cannot modify read-only memory"); | ||||
|         return -1; | ||||
|     } | ||||
|     if (value == NULL) { | ||||
|         PyErr_SetString(PyExc_TypeError, | ||||
|                         "cannot delete memory"); | ||||
|         return -1; | ||||
|     } | ||||
|     if (view->ndim != 1) { | ||||
|         PyErr_SetNone(PyExc_NotImplementedError); | ||||
|         return -1; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Antoine Pitrou
						Antoine Pitrou