summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2015-11-02 17:57:11 -0800
committerJay Sorg <jay.sorg@gmail.com>2015-11-02 17:57:11 -0800
commite1c7aa377f0bcd080239ef2d166ff94d5eeb11ee (patch)
tree3058bb32dd2ba6fedccff0792a9474246d6abcff
parentd59d672f550579774a86b000b3c91ef959e6a5c1 (diff)
downloadxrdp-proprietary-e1c7aa377f0bcd080239ef2d166ff94d5eeb11ee.tar.gz
xrdp-proprietary-e1c7aa377f0bcd080239ef2d166ff94d5eeb11ee.zip
common: fix possible deadlock in trans
-rw-r--r--common/trans.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/common/trans.c b/common/trans.c
index 1e05864b..d9f71c8a 100644
--- a/common/trans.c
+++ b/common/trans.c
@@ -611,7 +611,8 @@ trans_write_copy_s(struct trans *self, struct stream *out_s)
init_stream(wait_s, size);
if (self->si != 0)
{
- if (self->si->cur_source != 0)
+ if ((self->si->cur_source != 0) &&
+ (self->si->cur_source != self->my_source))
{
self->si->source[self->si->cur_source] += size;
wait_s->source = self->si->source + self->si->cur_source;