From 9def79f8be8492c9ceaf95b3776c44dbf2442e5b Mon Sep 17 00:00:00 2001 From: YoungJules Date: Tue, 25 Aug 2026 17:24:09 +0200 Subject: [PATCH] Fix extra segments identification if first segment also the last --- client/experimental_lib/example_c/legic_migrate_tool.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/experimental_lib/example_c/legic_migrate_tool.c b/client/experimental_lib/example_c/legic_migrate_tool.c index bb6e87eb1..1f4d298a6 100644 --- a/client/experimental_lib/example_c/legic_migrate_tool.c +++ b/client/experimental_lib/example_c/legic_migrate_tool.c @@ -302,6 +302,7 @@ static bool has_extra_segments(const uint8_t *dump, uint16_t len) { while (start + 5 <= len) { uint16_t seg_len = (((uint16_t)dump[start + 1] & 0x0F) << 8) | dump[start]; + bool is_last = ((dump[start + 1] & 0x08) != 0); if (seg_len < 5 || start + seg_len > len) { break; } @@ -311,7 +312,7 @@ static bool has_extra_segments(const uint8_t *dump, uint16_t len) { } saw_first = true; - if (start + seg_len >= len) { + if (is_last) { break; }