Applied. Please try current git.
On Mon, May 20, 2024 at 6:05 PM Natanael Copa <[email protected]> wrote: > > Fixes https://bugs.busybox.net/show_bug.cgi?id=15865 > > Signed-off-by: Natanael Copa <[email protected]> > --- > editors/awk.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/editors/awk.c b/editors/awk.c > index 0981c6735..122376935 100644 > --- a/editors/awk.c > +++ b/editors/awk.c > @@ -2981,10 +2981,6 @@ static var *evaluate(node *op, var *res) > /* yes, remember where Fields[] is */ > old_Fields_ptr = Fields; > } > - if (opinfo & OF_STR1) { > - L.s = getvar_s(L.v); > - debug_printf_eval("L.s:'%s'\n", L.s); > - } > if (opinfo & OF_NUM1) { > L_d = getvar_i(L.v); > debug_printf_eval("L_d:%f\n", L_d); > @@ -3014,6 +3010,14 @@ static var *evaluate(node *op, var *res) > } > } > > + /* Must get L.s after R.v is evaluated in case it realloc's > L.v. > + * eg: x = (v = "abc", gsub("b", "X", v)); > + */ > + if ((opinfo & OF_RES1) && (opinfo & OF_STR1)) { > + L.s = getvar_s(L.v); > + debug_printf_eval("L.s:'%s'\n", L.s); > + } > + > debug_printf_eval("switch(0x%x)\n", XC(opinfo & OPCLSMASK)); > switch (XC(opinfo & OPCLSMASK)) { > > -- > 2.45.1 > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
