Skip to content

quaddtype: potential dereferencing bug in casts.cpp #166

@WarrenWeckesser

Description

@WarrenWeckesser

In this code

if (given_descrs[0]->backend != given_descrs[1]->backend)
casting = NPY_UNSAFE_CASTING;
Py_INCREF(given_descrs[0]);
loop_descrs[0] = given_descrs[0];
if (given_descrs[1] == NULL) {
Py_INCREF(given_descrs[0]);
loop_descrs[1] = given_descrs[0];
}

given_descrs[1] is dereferenced in line 34 (given_descrs[1]->backend), so it is assumed that given_descrs[1] is not NULL. In line 40, however, there is a check for given_descrs[1] == NULL. So either the check in line 40 always fails, or there is a bug in line 34.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions