Kaydet (Commit) 527a2400 authored tarafından Stefan Krah's avatar Stefan Krah

_testbuffer.c: In all current use cases of cmp_structure() dest->format and

src->format are either both NULL or both non-NULL. However, it is safer to
generalize the function. Found by Coverity.
üst b2a61e1e
......@@ -16,6 +16,7 @@ PyObject *calcsize = NULL;
static const char *simple_fmt = "B";
PyObject *simple_format = NULL;
#define SIMPLE_FORMAT(fmt) (fmt == NULL || strcmp(fmt, "B") == 0)
#define FIX_FORMAT(fmt) (fmt == NULL ? "B" : fmt)
/**************************************************************************/
......@@ -513,10 +514,8 @@ static int
cmp_structure(Py_buffer *dest, Py_buffer *src)
{
Py_ssize_t i;
int same_fmt = ((dest->format == NULL && src->format == NULL) || \
(strcmp(dest->format, src->format) == 0));
if (!same_fmt ||
if (strcmp(FIX_FORMAT(dest->format), FIX_FORMAT(src->format)) != 0 ||
dest->itemsize != src->itemsize ||
dest->ndim != src->ndim)
return -1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment