Explorar o código

Merge branch 'fix_loop_counter' of https://github.com/sec65/CyberChef

n1474335 %!s(int64=3) %!d(string=hai) anos
pai
achega
2f53ee3974
Modificáronse 2 ficheiros con 5 adicións e 0 borrados
  1. 4 0
      src/core/operations/ConditionalJump.mjs
  2. 1 0
      src/core/operations/Jump.mjs

+ 4 - 0
src/core/operations/ConditionalJump.mjs

@@ -64,6 +64,7 @@ class ConditionalJump extends Operation {
             jmpIndex = getLabelIndex(label, state);
 
         if (state.numJumps >= maxJumps || jmpIndex === -1) {
+            state.numJumps = 0;
             return state;
         }
 
@@ -74,6 +75,9 @@ class ConditionalJump extends Operation {
                 state.progress = jmpIndex;
                 state.numJumps++;
             }
+            else {
+                state.numJumps = 0;
+            }
         }
 
         return state;

+ 1 - 0
src/core/operations/Jump.mjs

@@ -52,6 +52,7 @@ class Jump extends Operation {
         const jmpIndex = getLabelIndex(label, state);
 
         if (state.numJumps >= maxJumps || jmpIndex === -1) {
+            state.numJumps = 0;
             return state;
         }