diff options
| author | Laxmikant Rashinkar <LK.Rashinkar@gmail.com> | 2014-07-20 16:36:33 -0700 |
|---|---|---|
| committer | Laxmikant Rashinkar <LK.Rashinkar@gmail.com> | 2014-07-20 16:36:33 -0700 |
| commit | 0c63a8feb3c52de98a5da51a0a0f743450c34645 (patch) | |
| tree | cccc68684d5cac4795173a3aaee905de172f8b2f /sesman | |
| parent | a990287c4627ff6b0d3b6a42b06d1f4ce242d918 (diff) | |
| download | xrdp-proprietary-0c63a8feb3c52de98a5da51a0a0f743450c34645.tar.gz xrdp-proprietary-0c63a8feb3c52de98a5da51a0a0f743450c34645.zip | |
coverity: Dereference after null check
Diffstat (limited to 'sesman')
| -rw-r--r-- | sesman/chansrv/chansrv_fuse.c | 13 | ||||
| -rw-r--r-- | sesman/chansrv/devredir.c | 20 | ||||
| -rw-r--r-- | sesman/chansrv/rail.c | 2 |
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); |
