mirror of
https://github.com/python/cpython.git
synced 2025-08-19 00:00:48 +00:00
[3.12] gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228) (#120240)
gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228)
Don't hardcode 'dest' in HAVE_SUBOFFSETS_IN_LAST_DIM() macro of
memoryobject.c, but use its 'view' parameter instead.
Fix the Coverity issue:
Error: COPY_PASTE_ERROR (CWE-398):
Python-3.12.2/Objects/memoryobject.c:273:14: original: ""dest->suboffsets + (dest->ndim - 1)"" looks like the original copy.
Python-3.12.2/Objects/memoryobject.c:274:14: copy_paste_error: ""dest"" in ""src->suboffsets + (dest->ndim - 1)"" looks like a copy-paste error.
Python-3.12.2/Objects/memoryobject.c:274:14: remediation: Should it say ""src"" instead?
GH- 272| assert(dest->ndim > 0 && src->ndim > 0);
GH- 273| return (!HAVE_SUBOFFSETS_IN_LAST_DIM(dest) &&
GH- 274|-> !HAVE_SUBOFFSETS_IN_LAST_DIM(src) &&
GH- 275| dest->strides[dest->ndim-1] == dest->itemsize &&
GH- 276| src->strides[src->ndim-1] == src->itemsize);
(cherry picked from commit 90b7540526
)
Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
b3b5278475
commit
ec7c9d330f
1 changed files with 1 additions and 1 deletions
|
@ -264,7 +264,7 @@ PyTypeObject _PyManagedBuffer_Type = {
|
||||||
/* Assumptions: ndim >= 1. The macro tests for a corner case that should
|
/* Assumptions: ndim >= 1. The macro tests for a corner case that should
|
||||||
perhaps be explicitly forbidden in the PEP. */
|
perhaps be explicitly forbidden in the PEP. */
|
||||||
#define HAVE_SUBOFFSETS_IN_LAST_DIM(view) \
|
#define HAVE_SUBOFFSETS_IN_LAST_DIM(view) \
|
||||||
(view->suboffsets && view->suboffsets[dest->ndim-1] >= 0)
|
(view->suboffsets && view->suboffsets[view->ndim-1] >= 0)
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
last_dim_is_contiguous(const Py_buffer *dest, const Py_buffer *src)
|
last_dim_is_contiguous(const Py_buffer *dest, const Py_buffer *src)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue