Merge pull request #4056 from harfbuzz/fix-sweep-gradient-hang

[hb-cairo] Fixes for sweep gradients
diff --git a/src/hb-cairo-utils.cc b/src/hb-cairo-utils.cc
index ad0627c..10a811b 100644
--- a/src/hb-cairo-utils.cc
+++ b/src/hb-cairo-utils.cc
@@ -723,8 +723,9 @@
         }
 
       //assert (angles[0] + k * span <= 0 && 0 < angles[n_stops - 1] + k * span);
+      span = fabs (span);
 
-     for (unsigned l = k; 1; l++)
+     for (unsigned l = k; l < 1000; l++)
         {
           for (unsigned i = 1; i < n_stops; i++)
             {