From 254a8dfe38456eee11efdecbb7f596d0e31a2a69 Mon Sep 17 00:00:00 2001 From: xmaple555 Date: Fri, 14 Jun 2024 02:56:07 +0800 Subject: [PATCH] fix wcsncmp in script-engine 2 --- hyperdbg/script-engine/code/script-engine.c | 13 ++++++------- hyperdbg/script-eval/code/ScriptEngineEval.c | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/hyperdbg/script-engine/code/script-engine.c b/hyperdbg/script-engine/code/script-engine.c index 060273f0..df4953e9 100644 --- a/hyperdbg/script-engine/code/script-engine.c +++ b/hyperdbg/script-engine/code/script-engine.c @@ -1927,8 +1927,8 @@ CodeGen(PTOKEN_LIST MatchedStack, PSYMBOL_BUFFER UserDefinedFunctions, PSYMBOL_B Op1 = Pop(MatchedStack); Op1Symbol = ToSymbol(Op1, Error); - PTOKEN Op2 = Pop(MatchedStack); - PSYMBOL Op2Symbol = ToSymbol(Op2, Error); + Op2 = Pop(MatchedStack); + Op2Symbol = ToSymbol(Op2, Error); PushSymbol(CodeBuffer, Op0Symbol); PushSymbol(CodeBuffer, Op1Symbol); @@ -1939,13 +1939,13 @@ CodeGen(PTOKEN_LIST MatchedStack, PSYMBOL_BUFFER UserDefinedFunctions, PSYMBOL_B TempSymbol = ToSymbol(Temp, Error); PushSymbol(CodeBuffer, TempSymbol); - FreeTemp(Op2); // // Free the operand if it is a temp value // FreeTemp(Op0); FreeTemp(Op1); + FreeTemp(Op2); if (*Error != SCRIPT_ENGINE_ERROR_FREE) { break; @@ -2007,8 +2007,8 @@ CodeGen(PTOKEN_LIST MatchedStack, PSYMBOL_BUFFER UserDefinedFunctions, PSYMBOL_B Op1 = Pop(MatchedStack); Op1Symbol = ToSymbol(Op1, Error); - PTOKEN Op2 = Pop(MatchedStack); - PSYMBOL Op2Symbol = ToSymbol(Op2, Error); + Op2 = Pop(MatchedStack); + Op2Symbol = ToSymbol(Op2, Error); PushSymbol(CodeBuffer, Op0Symbol); PushSymbol(CodeBuffer, Op1Symbol); @@ -2019,13 +2019,12 @@ CodeGen(PTOKEN_LIST MatchedStack, PSYMBOL_BUFFER UserDefinedFunctions, PSYMBOL_B TempSymbol = ToSymbol(Temp, Error); PushSymbol(CodeBuffer, TempSymbol); - FreeTemp(Op2); - // // Free the operand if it is a temp value // FreeTemp(Op0); FreeTemp(Op1); + FreeTemp(Op2); if (*Error != SCRIPT_ENGINE_ERROR_FREE) { break; diff --git a/hyperdbg/script-eval/code/ScriptEngineEval.c b/hyperdbg/script-eval/code/ScriptEngineEval.c index 5542a114..62253e60 100644 --- a/hyperdbg/script-eval/code/ScriptEngineEval.c +++ b/hyperdbg/script-eval/code/ScriptEngineEval.c @@ -2107,7 +2107,7 @@ ScriptEngineExecute(PGUEST_REGS GuestRegs, *Indx = *Indx + 1; - if (Src1->Type == SYMBOL_STRING_TYPE) + if (Src1->Type == SYMBOL_WSTRING_TYPE) { *Indx = *Indx + ((3 * sizeof(unsigned long long) + Src1->Len) / @@ -2125,7 +2125,7 @@ ScriptEngineExecute(PGUEST_REGS GuestRegs, *Indx = *Indx + 1; - if (Src2->Type == SYMBOL_STRING_TYPE) + if (Src2->Type == SYMBOL_WSTRING_TYPE) { *Indx = *Indx + ((3 * sizeof(unsigned long long) + Src2->Len) /