Blame SOURCES/0001-The-scheduler-could-crash-while-adding-an-IPP-Everyw.patch

1d75c0
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
1d75c0
index 649995bb5..2396c9b58 100644
1d75c0
--- a/scheduler/ipp.c
1d75c0
+++ b/scheduler/ipp.c
1d75c0
@@ -4873,6 +4873,8 @@ copy_printer_attrs(
1d75c0
   * and document-format attributes that may be provided by the client.
1d75c0
   */
1d75c0
 
1d75c0
+  _cupsRWLockRead(&printer->lock);
1d75c0
+
1d75c0
   curtime = time(NULL);
1d75c0
 
1d75c0
   if (!ra || cupsArrayFind(ra, "marker-change-time"))
1d75c0
@@ -5034,6 +5036,8 @@ copy_printer_attrs(
1d75c0
   if (printer->ppd_attrs)
1d75c0
     copy_attrs(con->response, printer->ppd_attrs, ra, IPP_TAG_ZERO, 0, NULL);
1d75c0
   copy_attrs(con->response, CommonData, ra, IPP_TAG_ZERO, IPP_TAG_COPY, NULL);
1d75c0
+
1d75c0
+  _cupsRWUnlock(&printer->lock);
1d75c0
 }
1d75c0
 
1d75c0