fix use-after-free in a⌾(i⊸/)𝕩
not actually ever problematic I believe as `w` in *_ucw always happens to have other held references, but still a bug and could become problematic in the future; and the change is actually an improvement, bringing the SGetU computation out of paths that don't need it!
This commit is contained in:
parent
04d0191d1f
commit
3b5497e329
@ -1068,7 +1068,6 @@ B slash_ucw(B t, B o, B w, B x) {
|
|||||||
return def_fn_ucw(t, o, w, x);
|
return def_fn_ucw(t, o, w, x);
|
||||||
}
|
}
|
||||||
usz ia = IA(x);
|
usz ia = IA(x);
|
||||||
SGetU(w)
|
|
||||||
u8 we = TI(w,elType);
|
u8 we = TI(w,elType);
|
||||||
if (we != el_bit) {
|
if (we != el_bit) {
|
||||||
w = squeeze_numTry(w, &we);
|
w = squeeze_numTry(w, &we);
|
||||||
@ -1188,7 +1187,7 @@ B slash_ucw(B t, B o, B w, B x) {
|
|||||||
mut_fillG(r, 0, m_f64(0), ia);
|
mut_fillG(r, 0, m_f64(0), ia);
|
||||||
NOGC_E;
|
NOGC_E;
|
||||||
}
|
}
|
||||||
SGetU(rep)
|
SGetU(w) SGetU(rep)
|
||||||
for (usz i = 0; i < ia; i++) {
|
for (usz i = 0; i < ia; i++) {
|
||||||
ux cw = o2u64G(GetU(w, i));
|
ux cw = o2u64G(GetU(w, i));
|
||||||
if (cw) {
|
if (cw) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user