-
Erkki Seppälä authored
Backported from X.Org: commit 0801afbd7c2c644c672b37f8463f1a0cbadebd2e Author: Erkki Seppälä <erkki.seppala@vincit.fi> Date: Thu Feb 10 15:35:14 2011 +0200 record: avoid crash when calling RecordFlushReplyBuffer recursively RecordFlushReplyBuffer can call itself recursively through WriteClient->CallCallbacks->_CallCallbacks->RecordFlushAllContexts when the recording client's buffer cannot be completely emptied in one WriteClient. When a such a recursion occurs, it will not be broken out of which results in segmentation fault when the stack is exhausted. This patch adds a counter (a flag, really) that guards against this situation, to break out of the recursion. One alternative to this change would be to change _CallCallbacks to check the corresponding counter before the callback loop, but that might affect existing behavior, which may be relied upon. Reviewed-by:
Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by:
Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by:
Keith Packard <keithp@keithp.com> Backported-to-NX-by:
Mihai Moldovan <ionic@ionic.de> Fixes: ArcticaProject/nx-libs#417.
c8a4e1e7