summaryrefslogtreecommitdiff
path: root/net-print/cups/files/cups-2.3.3-enforcing-read-limits.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-print/cups/files/cups-2.3.3-enforcing-read-limits.patch')
-rw-r--r--net-print/cups/files/cups-2.3.3-enforcing-read-limits.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/net-print/cups/files/cups-2.3.3-enforcing-read-limits.patch b/net-print/cups/files/cups-2.3.3-enforcing-read-limits.patch
new file mode 100644
index 000000000000..1782d122ae55
--- /dev/null
+++ b/net-print/cups/files/cups-2.3.3-enforcing-read-limits.patch
@@ -0,0 +1,29 @@
+From: Zdenek Dohnal <zdohnal@redhat.com>
+Date: Tue, 13 Apr 2021 15:47:37 +0200
+Subject: backend/usb-libusb.c: Revert enforcing read limits
+
+This commit reverts the change introduced by 2.2.12 [1] - its
+implementation caused a regression with Lexmark filters.
+
+[1] https://github.com/apple/cups/commit/35e927f83529cd9b4bc37bcd418c50e307fced35
+
+Origin: upstream, https://github.com/OpenPrinting/cups/pull/174
+Bug: https://github.com/OpenPrinting/cups/issues/72
+---
+ backend/usb-libusb.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c
+index fbb0d9d..89b5182 100644
+--- a/backend/usb-libusb.c
++++ b/backend/usb-libusb.c
+@@ -1721,7 +1721,8 @@ static void *read_thread(void *reference)
+ * Make sure this loop executes no more than once every 250 miliseconds...
+ */
+
+- if ((g.wait_eof || !g.read_thread_stop))
++ if ((readstatus != LIBUSB_SUCCESS || rbytes == 0) &&
++ (g.wait_eof || !g.read_thread_stop))
+ usleep(250000);
+ }
+ while (g.wait_eof || !g.read_thread_stop);