diff --git a/plugins/libimhex/include/hex/pattern_language/ast_node.hpp b/plugins/libimhex/include/hex/pattern_language/ast_node.hpp index 4c384655a..29f7ed65a 100644 --- a/plugins/libimhex/include/hex/pattern_language/ast_node.hpp +++ b/plugins/libimhex/include/hex/pattern_language/ast_node.hpp @@ -1454,10 +1454,6 @@ namespace hex::pl { std::visit(overloaded { [&](std::string &assignmentValue) { }, - [&](s128 assignmentValue) { - std::memcpy(&value, &assignmentValue, pattern->getSize()); - value = hex::signExtend(pattern->getSize() * 8, value); - }, [&](auto &&assignmentValue) { std::memcpy(&value, &assignmentValue, pattern->getSize()); } }, literal); } @@ -1491,6 +1487,7 @@ namespace hex::pl { } else if (dynamic_cast(pattern)) { s128 value = 0; readValue(value, pattern); + value = hex::signExtend(pattern->getSize() * 8, value); literal = value; } else if (dynamic_cast(pattern)) { if (pattern->getSize() == sizeof(u16)) {