}
if (data->continue_data != NULL) {
+ assert(data->free_continue_data);
data->free_continue_data(data->continue_data);
data->continue_data = NULL;
}
chown_data->uid = uid;
chown_data->gid = gid;
-
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory. failed to allocate memory for fchown data");
+ free(chown_data);
return -1;
}
memset(data, 0, sizeof(struct nfs_cb_data));
data->cb = cb;
data->private_data = private_data;
data->continue_data = chown_data;
+ data->free_continue_data = free;
data->fh.data.data_len = nfsfh->fh.data.data_len;
data->fh.data.data_val = malloc(data->fh.data.data_len);
if (data->fh.data.data_val == NULL) {
}
memcpy(data->fh.data.data_val, nfsfh->fh.data.data_val, data->fh.data.data_len);
-
if (nfs_chown_continue_internal(nfs, data) != 0) {
free_nfs_cb_data(data);
return -1;