From 86d81322c5c0ab67f89d64f56f6e77d4fe185910 Mon Sep 17 00:00:00 2001 From: Warren Weckesser Date: Tue, 29 Mar 2022 15:58:00 +0800 Subject: [PATCH] BUG: f2py: Simplify creation of an exception message. Closes gh-19000. CVE: CVE-2021-41496 Upstream-Status: Backport [https://github.com/numpy/numpy/commit/271010f1037150e95017f803f4214b8861e528f2] Signed-off-by: Mingli Yu --- numpy/f2py/src/fortranobject.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/numpy/f2py/src/fortranobject.c b/numpy/f2py/src/fortranobject.c index 3275f90..85c9c7f 100644 --- a/numpy/f2py/src/fortranobject.c +++ b/numpy/f2py/src/fortranobject.c @@ -637,14 +637,14 @@ static int check_and_fix_dimensions(const PyArrayObject* arr, npy_intp *dims); static int -count_negative_dimensions(const int rank, +find_first_negative_dimension(const int rank, const npy_intp *dims) { - int i=0,r=0; - while (i 0) { - int i; - strcpy(mess, "failed to create intent(cache|hide)|optional array" - "-- must have defined dimensions but got ("); - for(i=0;i= 0) { + PyErr_Format(PyExc_ValueError, + "failed to create intent(cache|hide)|optional array" + " -- must have defined dimensions, but dims[%d] = %" + NPY_INTP_FMT, i, dims[i]); return NULL; } arr = (PyArrayObject *) -- 2.25.1