summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2014-07-03 00:02:06 -0700
committerJay Sorg <jay.sorg@gmail.com>2014-07-03 00:02:06 -0700
commit98fbca98dbd3b480adda35a055eec0c9634943eb (patch)
tree8498fc99eaa2dfcdd6aab3162a11612751bf9400
parentba6c71fd378fa10c8f0379325556daf8fe0219f4 (diff)
downloadxrdp-proprietary-98fbca98dbd3b480adda35a055eec0c9634943eb.tar.gz
xrdp-proprietary-98fbca98dbd3b480adda35a055eec0c9634943eb.zip
xup: check for g_shmat failure and change error case
-rw-r--r--xup/xup.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/xup/xup.c b/xup/xup.c
index f1ddf4c2..5429e5f3 100644
--- a/xup/xup.c
+++ b/xup/xup.c
@@ -1125,6 +1125,12 @@ process_server_paint_rect_shmem(struct mod *mod, struct stream *s)
{
mod->screen_shmem_id = shmem_id;
mod->screen_shmem_pixels = g_shmat(mod->screen_shmem_id);
+ if (mod->screen_shmem_pixels == (void*)-1)
+ {
+ /* failed */
+ mod->screen_shmem_id = 0;
+ mod->screen_shmem_pixels = 0;
+ }
}
if (mod->screen_shmem_pixels != 0)
{
@@ -1137,10 +1143,6 @@ process_server_paint_rect_shmem(struct mod *mod, struct stream *s)
bmpdata, width, height,
srcx, srcy);
}
- else
- {
- rv = 1;
- }
send_paint_rect_ack(mod, flags, x, y, cx, cy, frame_id);
return rv;
}