forked from pool/ghostscript
18 lines
651 B
Diff
18 lines
651 B
Diff
|
--- base/sbcp.c.orig 2020-03-19 09:21:42.000000000 +0100
|
||
|
+++ base/sbcp.c 2023-04-03 12:36:26.024927229 +0200
|
||
|
@@ -50,6 +50,14 @@ s_xBCPE_process(stream_state * st, strea
|
||
|
byte ch = *++p;
|
||
|
|
||
|
if (ch <= 31 && escaped[ch]) {
|
||
|
+ /* Make sure we have space to store two characters in the write buffer,
|
||
|
+ * if we don't then exit without consuming the input character, we'll process
|
||
|
+ * that on the next time round.
|
||
|
+ */
|
||
|
+ if (pw->limit - q < 2) {
|
||
|
+ p--;
|
||
|
+ break;
|
||
|
+ }
|
||
|
if (p == rlimit) {
|
||
|
p--;
|
||
|
break;
|