[Numpy-svn] r2870 - trunk/numpy/core/src

numpy-svn at scipy.org numpy-svn at scipy.org
Thu Jul 20 22:09:20 EDT 2006


Author: oliphant
Date: 2006-07-20 21:09:17 -0500 (Thu, 20 Jul 2006)
New Revision: 2870

Modified:
   trunk/numpy/core/src/arraytypes.inc.src
Log:
Fix up segfault problem in #196

Modified: trunk/numpy/core/src/arraytypes.inc.src
===================================================================
--- trunk/numpy/core/src/arraytypes.inc.src	2006-07-21 02:02:17 UTC (rev 2869)
+++ trunk/numpy/core/src/arraytypes.inc.src	2006-07-21 02:09:17 UTC (rev 2870)
@@ -449,6 +449,13 @@
 	}
 
  finish:
+	if (descr->hasobject) {
+		PyErr_SetString(PyExc_ValueError, 
+				"tried to get void-array with object"
+				" members as buffer.");
+		return NULL;
+	}
+
 	itemsize=ap->descr->elsize;
 	if (PyArray_ISWRITEABLE(ap))
 		u = PyBuffer_FromReadWriteMemory(ip, itemsize);
@@ -550,6 +557,12 @@
 	{
 		const void *buffer;
 		int buflen;
+		if (descr->hasobject) {
+			PyErr_SetString(PyExc_ValueError, 
+					"tried to set void-array with object"
+					" members using buffer.");
+		        return -1;
+		}
 		res = PyObject_AsReadBuffer(op, &buffer, &buflen);
 		if (res == -1) goto fail;
 		memcpy(ip, buffer, MIN(buflen, itemsize));




More information about the Numpy-svn mailing list