Kaydet (Commit) 7b9cb257 authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Use s* to receive data. Fixes #3552.

üst 42b2f2ec
......@@ -411,14 +411,14 @@ PyDoc_STRVAR(MD5_update__doc__,
static PyObject *
MD5_update(MD5object *self, PyObject *args)
{
unsigned char *cp;
int len;
if (!PyArg_ParseTuple(args, "s#:update", &cp, &len))
Py_buffer buf;
if (!PyArg_ParseTuple(args, "s*:update", &buf))
return NULL;
md5_process(&self->hash_state, cp, len);
md5_process(&self->hash_state, buf.buf, buf.len);
PyBuffer_Release(&buf);
Py_INCREF(Py_None);
return Py_None;
}
......@@ -511,11 +511,11 @@ MD5_new(PyObject *self, PyObject *args, PyObject *kwdict)
{
static char *kwlist[] = {"string", NULL};
MD5object *new;
unsigned char *cp = NULL;
int len;
Py_buffer buf;
buf.buf = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|s#:new", kwlist,
&cp, &len)) {
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|s*:new", kwlist,
&buf)) {
return NULL;
}
......@@ -528,8 +528,10 @@ MD5_new(PyObject *self, PyObject *args, PyObject *kwdict)
Py_DECREF(new);
return NULL;
}
if (cp)
md5_process(&new->hash_state, cp, len);
if (buf.buf) {
md5_process(&new->hash_state, buf.buf, buf.len);
PyBuffer_Release(&buf);
}
return (PyObject *)new;
}
......
......@@ -387,14 +387,14 @@ PyDoc_STRVAR(SHA1_update__doc__,
static PyObject *
SHA1_update(SHA1object *self, PyObject *args)
{
unsigned char *cp;
int len;
Py_buffer buf;
if (!PyArg_ParseTuple(args, "s#:update", &cp, &len))
if (!PyArg_ParseTuple(args, "s*:update", &buf))
return NULL;
sha1_process(&self->hash_state, cp, len);
sha1_process(&self->hash_state, buf.buf, buf.len);
PyBuffer_Release(&buf);
Py_INCREF(Py_None);
return Py_None;
}
......@@ -487,11 +487,10 @@ SHA1_new(PyObject *self, PyObject *args, PyObject *kwdict)
{
static char *kwlist[] = {"string", NULL};
SHA1object *new;
unsigned char *cp = NULL;
int len;
Py_buffer buf;
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|s#:new", kwlist,
&cp, &len)) {
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|s*:new", kwlist,
&buf)) {
return NULL;
}
......@@ -504,8 +503,10 @@ SHA1_new(PyObject *self, PyObject *args, PyObject *kwdict)
Py_DECREF(new);
return NULL;
}
if (cp)
sha1_process(&new->hash_state, cp, len);
if (buf.buf) {
sha1_process(&new->hash_state, buf.buf, buf.len);
PyBuffer_Release(&buf);
}
return (PyObject *)new;
}
......
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