]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Prevent sanitizer warning in snap_restoredata().
authorMike Pall <mike>
Sat, 25 May 2024 14:38:05 +0000 (16:38 +0200)
committerMike Pall <mike>
Sat, 25 May 2024 14:38:05 +0000 (16:38 +0200)
Thanks to Sergey Kaplun. #1193

src/lj_snap.c

index 4a77304873845e67d45eeae43542a6524c9707f0..9858c1102e1b15eb23f663ec39c4e79017b6a42e 100644 (file)
@@ -731,7 +731,6 @@ static void snap_restoredata(GCtrace *T, ExitState *ex,
        *(lua_Number *)dst = (lua_Number)*(int32_t *)dst;
        return;
       }
-      src = (int32_t *)&ex->gpr[r-RID_MIN_GPR];
 #if !LJ_SOFTFP
       if (r >= RID_MAX_GPR) {
        src = (int32_t *)&ex->fpr[r-RID_MIN_FPR];
@@ -743,8 +742,11 @@ static void snap_restoredata(GCtrace *T, ExitState *ex,
 #else
        if (LJ_BE && sz == 4) src++;
 #endif
-      }
+      } else
 #endif
+      {
+       src = (int32_t *)&ex->gpr[r-RID_MIN_GPR];
+      }
     }
   }
   lua_assert(sz == 1 || sz == 2 || sz == 4 || sz == 8);