From 61e068086e3d9287674f4a79a45d8a3644113601 Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 3 Apr 2024 19:47:22 +0300 Subject: [PATCH] =?UTF-8?q?fix=20(2=E2=8B=8625)/(2=E2=8B=8610)=E2=A5=8A10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/slash.c | 3 ++- test/cases/usz32.bqn | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 test/cases/usz32.bqn diff --git a/src/builtins/slash.c b/src/builtins/slash.c index f719e1c6..ddc6200a 100644 --- a/src/builtins/slash.c +++ b/src/builtins/slash.c @@ -743,7 +743,8 @@ B slash_c2(B t, B w, B x) { goto decX_ret; } if (xlen == 0) return x; - usz s = xlen * wv; + usz s = xlen; + if (mulOn(s, wv)) thrOOM(); if (xl>6 || (xl<3 && xl!=0) || TI(x,elType)==el_B) { B xf = getFillR(x); if (xr!=1) { diff --git a/test/cases/usz32.bqn b/test/cases/usz32.bqn new file mode 100644 index 00000000..28ee9862 --- /dev/null +++ b/test/cases/usz32.bqn @@ -0,0 +1,3 @@ +!"Out of memory" % a←(2⋆20) ⥊ 1e9 ⋄ {𝕊: a}˘ a +!"⥊: 𝕨 too large" % a←(2⋆20) ⥊ 1e9 ⋄ a˘ a +!"Out of memory" % (2⋆25)/(2⋆10)⥊10