diff
--- a/setImage1.c
+++ b/setImage1.c
@@ -14,12 +14,12 @@
 11     for (dy = 0; dy < tnh; dy++) {
 16 	err += step;
 17 	while (err >= limit) {
-18 	    err -= limit;
-20 	    if (err >= limit)
-21               rows[nrows++] = br + bpr*sy;
->         if (nrows >= tnh)
-> 	    break;
-> 
+> 	    if (nrows < sizeof(rows)/sizeof(rows[0])) {
+> 	        rows[nrows++] = br + bpr*sy;
+> 	        err -= limit;
+> 	        if (err >= limit) {
+> 	            rows[nrows++] = br + bpr*sy;
+> 	        }
+> 	    }
 