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

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