git: 9front

Download patch

ref: cfb8010d1147e1acc8725bce1f687a1140a16409
parent: 1d01cf6f19f9f6baad7546cfa23f1afb859531ca
author: rodri <rgl@antares-labs.eu>
date: Tue Jan 20 18:45:01 EST 2026

libmemdraw: fix clamp() macro abuse in correlate()

up to three fix2int() executions on a bad day!

--- a/sys/src/libmemdraw/warp.c
+++ b/sys/src/libmemdraw/warp.c
@@ -705,10 +705,10 @@
 
 		Σr += r; Σg += g; Σb += b; Σa += a;
 	}
-	r = clamp(fix2int(Σr), 0, 0xFF);
-	g = clamp(fix2int(Σg), 0, 0xFF);
-	b = clamp(fix2int(Σb), 0, 0xFF);
-	a = clamp(fix2int(Σa), 0, 0xFF);
+	r = fix2int(Σr); r = clamp(r, 0, 0xFF);
+	g = fix2int(Σg); g = clamp(g, 0, 0xFF);
+	b = fix2int(Σb); b = clamp(b, 0, 0xFF);
+	a = fix2int(Σa); a = clamp(a, 0, 0xFF);
 
 	return r<<24|g<<16|b<<8|a;
 }
--