From: Volker Lendecke Date: Thu, 21 Sep 2023 14:33:15 +0000 (-0700) Subject: libsmb: Use reparse_data_buffer_marshall() in py_reparse_put() X-Git-Tag: tevent-0.16.0~518 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5d724ca88338798dcc22062585473a20506f1fc;p=thirdparty%2Fsamba.git libsmb: Use reparse_data_buffer_marshall() in py_reparse_put() Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- diff --git a/libcli/smb/py_reparse_symlink.c b/libcli/smb/py_reparse_symlink.c index d25ebb72568..52fcc487f40 100644 --- a/libcli/smb/py_reparse_symlink.c +++ b/libcli/smb/py_reparse_symlink.c @@ -31,10 +31,10 @@ static PyObject *py_reparse_put(PyObject *module, PyObject *args) Py_ssize_t reparse_len; unsigned long long tag = 0; unsigned reserved = 0; - struct iovec iov; uint8_t *buf = NULL; ssize_t buflen; PyObject *result = NULL; + struct reparse_data_buffer reparse_buf = {}; bool ok; ok = PyArg_ParseTuple( @@ -47,11 +47,13 @@ static PyObject *py_reparse_put(PyObject *module, PyObject *args) if (!ok) { return NULL; } - iov = (struct iovec) { - .iov_base = reparse, .iov_len = reparse_len, - }; - buflen = reparse_buffer_marshall(tag, reserved, &iov, 1, NULL, 0); + reparse_buf.tag = tag; + reparse_buf.parsed.raw.data = (uint8_t *)reparse; + reparse_buf.parsed.raw.length = reparse_len; + reparse_buf.parsed.raw.reserved = reserved; + + buflen = reparse_data_buffer_marshall(&reparse_buf, NULL, 0); if (buflen == -1) { errno = EINVAL; PyErr_SetFromErrno(PyExc_RuntimeError); @@ -62,7 +64,7 @@ static PyObject *py_reparse_put(PyObject *module, PyObject *args) PyErr_NoMemory(); return NULL; } - reparse_buffer_marshall(tag, reserved, &iov, 1, buf, buflen); + reparse_data_buffer_marshall(&reparse_buf, buf, buflen); result = PyBytes_FromStringAndSize((char *)buf, buflen); TALLOC_FREE(buf);