]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
Fix casts
authorKonstantinos Margaritis <konstantinos@vectorcamp.gr>
Sat, 18 May 2024 11:58:11 +0000 (14:58 +0300)
committerKonstantinos Margaritis <konstantinos@vectorcamp.gr>
Sat, 18 May 2024 11:58:11 +0000 (14:58 +0300)
src/nfa/castlecompile.cpp

index 28f1aed910d9144249aacd729af788c40a17ef9d..115646daf71555e9cd5ee4d06e9bddfa640d0c98 100644 (file)
@@ -632,11 +632,12 @@ buildCastle(const CastleProto &proto,
 
         if (patchSize[i]) {
             RepeatInfo *info = reinterpret_cast<RepeatInfo *>(ptr);
-            u64a *table = reinterpret_cast<u64a *>(ROUNDUP_PTR(info +
+           char *info_base = reinterpret_cast<char *>(info);
+            u64a *table = reinterpret_cast<u64a *>(ROUNDUP_PTR(info_base +
                                     sizeof(*info), alignof(u64a)));
             copy(tables.begin() + tableIdx,
                  tables.begin() + tableIdx + patchSize[i], table);
-            u32 diff = reinterpret_cast<ptrdiff_t>(table) - reinterpret_cast<ptrdiff_t>(info) +
+            u32 diff = reinterpret_cast<char *>(table) - info_base +
                        sizeof(u64a) * patchSize[i];
             info->length = diff;
             length += diff;