return Py_True;
#endif
}
+
static PyObject *py_wrap_setxattr(PyObject *self, PyObject *args)
{
char *filename, *attribute;
int blobsize;
DATA_BLOB blob;
- if (!PyArg_ParseTuple(args, "sss#", &filename,&attribute,&blob.data,&blobsize))
+ if (!PyArg_ParseTuple(args, "sss#", &filename, &attribute, &blob.data,
+ &blobsize))
return NULL;
blob.length = blobsize;
- ret = wrap_setxattr(filename,attribute,blob.data,blob.length,0);
+ ret = wrap_setxattr(filename, attribute, blob.data, blob.length, 0);
if( ret < 0 ) {
if (errno == ENOTSUP) {
PyErr_SetFromErrno(PyExc_IOError);
TALLOC_CTX *mem_ctx;
char *buf;
PyObject *ret;
- if (!PyArg_ParseTuple(args, "ss", &filename,&attribute))
+ if (!PyArg_ParseTuple(args, "ss", &filename, &attribute))
return NULL;
mem_ctx = talloc_new(NULL);
len = wrap_getxattr(filename,attribute,NULL,0);
} else {
PyErr_SetFromErrno(PyExc_TypeError);
}
+ talloc_free(mem_ctx);
return NULL;
}
/* check length ... */
} else {
PyErr_SetFromErrno(PyExc_TypeError);
}
+ talloc_free(mem_ctx);
return NULL;
}
ret = PyString_FromStringAndSize(buf, len);
- talloc_free(buf);
+ talloc_free(mem_ctx);
return ret;
}
TALLOC_CTX *mem_ctx;
struct tdb_wrap *eadb;
- if (!PyArg_ParseTuple(args, "ssss#", &tdbname,&filename,&attribute,&blob.data,&blobsize))
+ if (!PyArg_ParseTuple(args, "ssss#", &tdbname, &filename, &attribute,
+ &blob.data, &blobsize))
return NULL;
blob.length = blobsize;
if (eadb == NULL) {
PyErr_SetFromErrno(PyExc_IOError);
+ talloc_free(mem_ctx);
return NULL;
}
status = push_xattr_blob_tdb_raw(eadb,mem_ctx,attribute,filename,-1,&blob);
- if( !NT_STATUS_IS_OK(status) ) {
- PyErr_SetFromErrno(PyExc_TypeError);
+ if (!NT_STATUS_IS_OK(status)) {
+ PyErr_FromNTSTATUS(status);
+ talloc_free(mem_ctx);
return NULL;
}
+ talloc_free(mem_ctx);
Py_RETURN_NONE;
}
TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
if (eadb == NULL) {
PyErr_SetFromErrno(PyExc_IOError);
+ talloc_free(mem_ctx);
return NULL;
}
- status = pull_xattr_blob_tdb_raw(eadb,mem_ctx,attribute,filename,-1,100,&blob);
+ status = pull_xattr_blob_tdb_raw(eadb, mem_ctx, attribute, filename,
+ -1, 100, &blob);
if (!NT_STATUS_IS_OK(status) || blob.length < 0) {
PyErr_FromNTSTATUS(status);
+ talloc_free(mem_ctx);
return NULL;
}
ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ talloc_free(mem_ctx);
return ret;
}