summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2020-11-28 11:47:31 +0100
committerDidier Raboud <odyx@debian.org>2020-11-28 11:47:48 +0100
commitc4033cef6000f9dcfef4fa298c1bfe72bc07db2a (patch)
treeeda2a17883a1fb5d27a59f26da5f0c2dbdada3cf
parent0e9d108031d3d454480f46dc380d0418f75f6601 (diff)
parente512765460ec633ad43872436b243021f252a69a (diff)
merge patched-debian/buster into debian/buster
-rw-r--r--backend/ipp.c2
-rw-r--r--debian/.git-dpm4
-rw-r--r--debian/patches/0052-backend-scheduler-ipp.c-Fix-printer-alert-invalid-fr.patch46
-rw-r--r--debian/patches/series1
-rw-r--r--scheduler/ipp.c4
5 files changed, 52 insertions, 5 deletions
diff --git a/backend/ipp.c b/backend/ipp.c
index bc678f50a..3b65ea3af 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -3056,7 +3056,7 @@ report_printer_state(ipp_t *ipp) /* I - IPP response */
* Report alerts and messages...
*/
- if ((pa = ippFindAttribute(ipp, "printer-alert", IPP_TAG_TEXT)) != NULL)
+ if ((pa = ippFindAttribute(ipp, "printer-alert", IPP_TAG_STRING)) != NULL)
report_attr(pa);
if ((pam = ippFindAttribute(ipp, "printer-alert-message",
diff --git a/debian/.git-dpm b/debian/.git-dpm
index fd104f21b..e18e52dee 100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@ -1,6 +1,6 @@
# see git-dpm(1) from git-dpm package
-f1b7b7e074291c85366a60f7a197dea19e62c9cf
-f1b7b7e074291c85366a60f7a197dea19e62c9cf
+e512765460ec633ad43872436b243021f252a69a
+e512765460ec633ad43872436b243021f252a69a
25b2338346ef3abbb93ea88476887cba7b2b86f8
25b2338346ef3abbb93ea88476887cba7b2b86f8
cups_2.2.10.orig.tar.gz
diff --git a/debian/patches/0052-backend-scheduler-ipp.c-Fix-printer-alert-invalid-fr.patch b/debian/patches/0052-backend-scheduler-ipp.c-Fix-printer-alert-invalid-fr.patch
new file mode 100644
index 000000000..8ac3dc59e
--- /dev/null
+++ b/debian/patches/0052-backend-scheduler-ipp.c-Fix-printer-alert-invalid-fr.patch
@@ -0,0 +1,46 @@
+From e512765460ec633ad43872436b243021f252a69a Mon Sep 17 00:00:00 2001
+From: Zdenek Dohnal <zdohnal@redhat.com>
+Date: Mon, 9 Nov 2020 07:40:20 +0100
+Subject: backend,scheduler/ipp.c: Fix 'printer-alert' invalid free
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The fix is created by Bernhard Übelacker from apple/cups #5826.
+
+Bug-Upstream: https://github.com/OpenPrinting/apple/pull/5826
+Bug-Upstream: https://github.com/OpenPrinting/cups/pull/43
+Bug-Debian: https://bugs.debian.org/961345
+---
+ backend/ipp.c | 2 +-
+ scheduler/ipp.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/backend/ipp.c b/backend/ipp.c
+index bc678f50a..3b65ea3af 100644
+--- a/backend/ipp.c
++++ b/backend/ipp.c
+@@ -3056,7 +3056,7 @@ report_printer_state(ipp_t *ipp) /* I - IPP response */
+ * Report alerts and messages...
+ */
+
+- if ((pa = ippFindAttribute(ipp, "printer-alert", IPP_TAG_TEXT)) != NULL)
++ if ((pa = ippFindAttribute(ipp, "printer-alert", IPP_TAG_STRING)) != NULL)
+ report_attr(pa);
+
+ if ((pam = ippFindAttribute(ipp, "printer-alert-message",
+diff --git a/scheduler/ipp.c b/scheduler/ipp.c
+index 9be8a7f3b..cb12d49c4 100644
+--- a/scheduler/ipp.c
++++ b/scheduler/ipp.c
+@@ -4908,8 +4908,8 @@ copy_printer_attrs(
+ }
+
+ if (printer->alert && (!ra || cupsArrayFind(ra, "printer-alert")))
+- ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_STRING,
+- "printer-alert", NULL, printer->alert);
++ ippAddOctetString(con->response, IPP_TAG_PRINTER,
++ "printer-alert", printer->alert, (int)strlen(printer->alert));
+
+ if (printer->alert_description &&
+ (!ra || cupsArrayFind(ra, "printer-alert-description")))
diff --git a/debian/patches/series b/debian/patches/series
index 789ca3ada..ca1aaef6d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -49,3 +49,4 @@ manpage-translations.patch
0049-CVE-2019-2228-Fix-ippSetValueTag-validation-of-defau.patch
0050-CVE-2020-3898-heap-buffer-overflow-in-libcups-s-ppdF.patch
0051-CVE-2019-8842-The-ippReadIO-function-may-under-read-.patch
+0052-backend-scheduler-ipp.c-Fix-printer-alert-invalid-fr.patch
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
index 9be8a7f3b..cb12d49c4 100644
--- a/scheduler/ipp.c
+++ b/scheduler/ipp.c
@@ -4908,8 +4908,8 @@ copy_printer_attrs(
}
if (printer->alert && (!ra || cupsArrayFind(ra, "printer-alert")))
- ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_STRING,
- "printer-alert", NULL, printer->alert);
+ ippAddOctetString(con->response, IPP_TAG_PRINTER,
+ "printer-alert", printer->alert, (int)strlen(printer->alert));
if (printer->alert_description &&
(!ra || cupsArrayFind(ra, "printer-alert-description")))