xrdp-next/xrdp-0.9.14-fuse-pointer.patch

40 lines
1.5 KiB
Diff
Raw Normal View History

2020-08-31 10:25:25 +00:00
diff -ruN xrdp-0.9.14-v/sesman/chansrv/chansrv_fuse.c xrdp-0.9.14/sesman/chansrv/chansrv_fuse.c
--- xrdp-0.9.14-v/sesman/chansrv/chansrv_fuse.c 2020-06-26 21:13:58.000000000 +1000
+++ xrdp-0.9.14/sesman/chansrv/chansrv_fuse.c 2020-08-31 20:24:21.516983364 +1000
@@ -1607,7 +1607,7 @@
log_error("inode %ld is not valid", ino);
fuse_reply_err(req, ENOENT);
}
- else if ((dh = (struct xfs_dir_handle *) fi->fh) == NULL)
+ else if ((dh = (struct xfs_dir_handle *) (unsigned long)fi->fh) == NULL)
{
/* something seriously wrong somewhere! */
fuse_reply_buf(req, 0, 0);
@@ -2095,7 +2095,7 @@
log_debug("want_bytes %zd bytes at off %lld", size, (long long) off);
- if ((fh = (XFUSE_HANDLE *)fi->fh) == NULL)
+ if ((fh = (XFUSE_HANDLE *) (unsigned long)fi->fh) == NULL)
{
fuse_reply_err(req, EINVAL);
}
@@ -2168,7 +2168,7 @@
log_debug("write %zd bytes at off %lld to inode=%ld",
size, (long long) off, ino);
- if ((fh = (XFUSE_HANDLE *)fi->fh) == NULL)
+ if ((fh = (XFUSE_HANDLE *) (unsigned long)fi->fh) == NULL)
{
log_error("file handle fi->fh is NULL");
fuse_reply_err(req, EINVAL);
@@ -2436,7 +2436,7 @@
static void xfuse_cb_releasedir(fuse_req_t req, fuse_ino_t ino,
struct fuse_file_info *fi)
{
- struct xfs_dir_handle *dh = (struct xfs_dir_handle *) fi->fh;
+ struct xfs_dir_handle *dh = (struct xfs_dir_handle *) (unsigned long)fi->fh;
xfs_closedir(g_xfs, dh);
fuse_reply_err(req, 0);
}