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

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