| static PyObject * |
| _mysql_escape_string( |
| _mysql_ConnectionObject *self, |
| PyObject *args) |
| { |
| PyObject *str; |
| char *in, *out; |
| int len, size; |
| if (!PyArg_ParseTuple(args, "s#:escape_string", &in, &size)) return NULL; |
| str = PyUnicode_FromStringAndSize((char *) NULL, size*2+1); |
| if (!str) return PyErr_NoMemory(); |
| out = get_string(str); |
| if (!out) return NULL; |
| #if MYSQL_VERSION_ID < 32321 |
| // TODO: we don't support mysql 3.1... |
| len = mysql_escape_string(out, in, size); |
| #else |
| len = mysql_real_escape_string(utf8conn, out, in, size); |
| #endif |
| if (PyUnicode_Resize(&str, len) < 0) return NULL; |
| return (str); |
| } |
was expecting final owned ob_refcnt of '*str.44' to be 0 since nothing references it but final ob_refcnt is refs: 1 owned
found 2 similar trace(s) to this
when PyArg_ParseTuple() succeeds
taking False path
when PyUnicodeUCS4_FromStringAndSize() succeeds
'*str.44' was allocated at: str = PyUnicode_FromStringAndSize((char *) NULL, size*2+1);
taking False path
when treating unknown char * from _mysql.c:1083 as non-NULL
taking False path
when considering range: -0x80000000 <= value <= -1
taking True path
| static PyObject * |
| _mysql_escape_string( |
| _mysql_ConnectionObject *self, |
| PyObject *args) |
| { |
| PyObject *str; |
| char *in, *out; |
| int len, size; |
| if (!PyArg_ParseTuple(args, "s#:escape_string", &in, &size)) return NULL; |
| str = PyUnicode_FromStringAndSize((char *) NULL, size*2+1); |
| if (!str) return PyErr_NoMemory(); |
| out = get_string(str); |
| if (!out) return NULL; |
| #if MYSQL_VERSION_ID < 32321 |
| // TODO: we don't support mysql 3.1... |
| len = mysql_escape_string(out, in, size); |
| #else |
| len = mysql_real_escape_string(utf8conn, out, in, size); |
| #endif |
| if (PyUnicode_Resize(&str, len) < 0) return NULL; |
| return (str); |
| } |
found 1 similar trace(s) to this
when PyArg_ParseTuple() succeeds
taking False path
when PyUnicodeUCS4_FromStringAndSize() succeeds
taking False path
when treating unknown char * from _mysql.c:1083 as non-NULL
taking False path
when considering range: -0x80000000 <= value <= -1
taking True path