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;
}
--
⑨