summaryrefslogtreecommitdiffstats
path: root/sesman
diff options
context:
space:
mode:
authorLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2014-07-20 16:36:33 -0700
committerLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2014-07-20 16:36:33 -0700
commit0c63a8feb3c52de98a5da51a0a0f743450c34645 (patch)
treecccc68684d5cac4795173a3aaee905de172f8b2f /sesman
parenta990287c4627ff6b0d3b6a42b06d1f4ce242d918 (diff)
downloadxrdp-proprietary-0c63a8feb3c52de98a5da51a0a0f743450c34645.tar.gz
xrdp-proprietary-0c63a8feb3c52de98a5da51a0a0f743450c34645.zip
coverity: Dereference after null check
Diffstat (limited to 'sesman')
-rw-r--r--sesman/chansrv/chansrv_fuse.c13
-rw-r--r--sesman/chansrv/devredir.c20
-rw-r--r--sesman/chansrv/rail.c2
3 files changed, 23 insertions, 12 deletions
diff --git a/sesman/chansrv/chansrv_fuse.c b/sesman/chansrv/chansrv_fuse.c
index 5bef552d..e80f93a9 100644
--- a/sesman/chansrv/chansrv_fuse.c
+++ b/sesman/chansrv/chansrv_fuse.c
@@ -1781,12 +1781,15 @@ void xfuse_devredir_cb_rename_file(void *vp, tui32 IoStatus)
new_xinode = xfuse_get_inode_from_pinode_name(fip->new_inode,
fip->new_name);
- if (new_xinode->mode & S_IFREG)
- xfuse_delete_file_with_xinode(new_xinode);
- else
- xfuse_delete_dir_with_xinode(new_xinode);
+ if (new_xinode)
+ {
+ if (new_xinode->mode & S_IFREG)
+ xfuse_delete_file_with_xinode(new_xinode);
+ else
+ xfuse_delete_dir_with_xinode(new_xinode);
- new_xinode = NULL;
+ new_xinode = NULL;
+ }
}
old_xinode = xfuse_get_inode_from_pinode_name(fip->inode, fip->name);
diff --git a/sesman/chansrv/devredir.c b/sesman/chansrv/devredir.c
index 9b746a98..121c1190 100644
--- a/sesman/chansrv/devredir.c
+++ b/sesman/chansrv/devredir.c
@@ -790,10 +790,14 @@ dev_redir_proc_device_iocompletion(struct stream *s)
fuse_data = devredir_fuse_data_dequeue(irp);
if (fuse_data == NULL)
+ {
log_error("fuse_data is NULL");
-
- xfuse_devredir_cb_read_file(fuse_data->data_ptr, s->p, Length);
- devredir_irp_delete(irp);
+ }
+ else
+ {
+ xfuse_devredir_cb_read_file(fuse_data->data_ptr, s->p, Length);
+ devredir_irp_delete(irp);
+ }
break;
case CID_WRITE:
@@ -802,10 +806,14 @@ dev_redir_proc_device_iocompletion(struct stream *s)
fuse_data = devredir_fuse_data_dequeue(irp);
if (fuse_data == NULL)
+ {
log_error("fuse_data is NULL");
-
- xfuse_devredir_cb_write_file(fuse_data->data_ptr, s->p, Length);
- devredir_irp_delete(irp);
+ }
+ else
+ {
+ xfuse_devredir_cb_write_file(fuse_data->data_ptr, s->p, Length);
+ devredir_irp_delete(irp);
+ }
break;
case CID_CLOSE:
diff --git a/sesman/chansrv/rail.c b/sesman/chansrv/rail.c
index 4d620c00..f3777970 100644
--- a/sesman/chansrv/rail.c
+++ b/sesman/chansrv/rail.c
@@ -739,7 +739,7 @@ rail_win_get_state(Window win)
(unsigned char **)&data,
&nitems);
- if (data || nitems > 0)
+ if (data && nitems > 0)
{
rv = *(unsigned long *)data;
XFree(data);