summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2018-02-18 16:09:54 -0700
committerGitHub <noreply@github.com>2018-02-18 16:09:54 -0700
commit23e3fb5dbecd200b9e147d68e07bea39940548bd (patch)
tree9951ec81da322644b87b5b3181fb3532eefe83b8
parentd0ba54f958efe07d3a1fc94bf61d3723ef89c267 (diff)
parentb48c804fcbe7a177353c462fed02391a2549a20d (diff)
downloadnumpy-23e3fb5dbecd200b9e147d68e07bea39940548bd.tar.gz
Merge pull request #10624 from charris/backport-10623
BUG: Correctly identify comma seperated dtype strings
-rw-r--r--numpy/core/src/multiarray/descriptor.c2
-rw-r--r--numpy/core/tests/test_dtype.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/numpy/core/src/multiarray/descriptor.c b/numpy/core/src/multiarray/descriptor.c
index 897155238..b4a0ce37d 100644
--- a/numpy/core/src/multiarray/descriptor.c
+++ b/numpy/core/src/multiarray/descriptor.c
@@ -198,7 +198,7 @@ _check_for_commastring(char *type, Py_ssize_t len)
* allows commas inside of [], for parameterized dtypes to use.
*/
sqbracket = 0;
- for (i = 1; i < len; i++) {
+ for (i = 0; i < len; i++) {
switch (type[i]) {
case ',':
if (sqbracket == 0) {
diff --git a/numpy/core/tests/test_dtype.py b/numpy/core/tests/test_dtype.py
index 110ae378b..2f997b4f7 100644
--- a/numpy/core/tests/test_dtype.py
+++ b/numpy/core/tests/test_dtype.py
@@ -719,5 +719,10 @@ def test_dtypes_are_true():
assert bool(np.dtype([('a', 'i8'), ('b', 'f4')]))
+def test_invalid_dtype_string():
+ # test for gh-10440
+ assert_raises(TypeError, np.dtype, 'f8,i8,[f8,i8]')
+
+
if __name__ == "__main__":
run_module_suite()