summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2025-01-09 22:17:55 -0300
committerJesusaves <cpntb1@ymail.com>2025-01-09 22:17:55 -0300
commitd6efedb34b430ee004d9bf400c7eed2a140a4714 (patch)
tree38331da738452a21a57f31e33996dcfee4b32bfc
parent4bb46b8d24631c7c22a02743edbdae193a17d259 (diff)
downloadserverdata-d6efedb34b430ee004d9bf400c7eed2a140a4714.tar.gz
serverdata-d6efedb34b430ee004d9bf400c7eed2a140a4714.tar.bz2
serverdata-d6efedb34b430ee004d9bf400c7eed2a140a4714.tar.xz
serverdata-d6efedb34b430ee004d9bf400c7eed2a140a4714.zip
Fix integer overflow in multiple scripts, but most notably, Ofelia.
It was harmless, in the end?
-rw-r--r--npc/functions/bitwise.txt4
1 files changed, 4 insertions, 0 deletions
diff --git a/npc/functions/bitwise.txt b/npc/functions/bitwise.txt
index 023606629..eadfb30ce 100644
--- a/npc/functions/bitwise.txt
+++ b/npc/functions/bitwise.txt
@@ -56,6 +56,10 @@ function script bitmask_count {
// Loop only as needed
while (.@s < .@n) {
+ // Safeguard (2,147,483,647 is INT_MAX)
+ if (.@m >= 31)
+ break;
+ // Actual calculation
.@s=2**.@m;
if (.@n & .@s)
.@p++;