diff options
| author | Jay Sorg <jay.sorg@gmail.com> | 2015-11-02 17:57:11 -0800 |
|---|---|---|
| committer | Jay Sorg <jay.sorg@gmail.com> | 2015-11-02 17:57:11 -0800 |
| commit | e1c7aa377f0bcd080239ef2d166ff94d5eeb11ee (patch) | |
| tree | 3058bb32dd2ba6fedccff0792a9474246d6abcff | |
| parent | d59d672f550579774a86b000b3c91ef959e6a5c1 (diff) | |
| download | xrdp-proprietary-e1c7aa377f0bcd080239ef2d166ff94d5eeb11ee.tar.gz xrdp-proprietary-e1c7aa377f0bcd080239ef2d166ff94d5eeb11ee.zip | |
common: fix possible deadlock in trans
| -rw-r--r-- | common/trans.c | 3 |
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; |
