Skip to content

Commit ec7c9d3

Browse files
[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 90b7540) Co-authored-by: Victor Stinner <[email protected]>
1 parent b3b5278 commit ec7c9d3

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Objects/memoryobject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ PyTypeObject _PyManagedBuffer_Type = {
264264
/* Assumptions: ndim >= 1. The macro tests for a corner case that should
265265
perhaps be explicitly forbidden in the PEP. */
266266
#define HAVE_SUBOFFSETS_IN_LAST_DIM(view) \
267-
(view->suboffsets && view->suboffsets[dest->ndim-1] >= 0)
267+
(view->suboffsets && view->suboffsets[view->ndim-1] >= 0)
268268

269269
static inline int
270270
last_dim_is_contiguous(const Py_buffer *dest, const Py_buffer *src)

0 commit comments

Comments
 (0)