summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ufodecode.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ufodecode.c b/src/ufodecode.c
index 03c4404..9f5851a 100644
--- a/src/ufodecode.c
+++ b/src/ufodecode.c
@@ -716,10 +716,13 @@ int ufo_decoder_get_next_frame(UfoDecoder *decoder,
pos += advance == 0 ? 1 : advance;
/* if bytes left and we see fill bytes, skip them */
- if (((pos + 2) < num_words) && ((raw[pos] == 0x0) && (raw[pos+1] == 0x1111111))) {
+ if (((pos + 2) < num_words) && ((raw[pos] == 0x0) && ((raw[pos+1] == 0x1111111) || raw[pos+1] == 0x0))) {
pos += 2;
- while ((pos < num_words) && ((raw[pos] == 0x89abcdef) || (raw[pos] == 0x1234567)))
+ while ((pos < num_words) &&
+ ((raw[pos] == 0x89abcdef) || (raw[pos] == 0x1234567) ||
+ (raw[pos] == 0x0) || (raw[pos] == 0xdeadbeef) || (0x98badcfe))) /* new filling ... */ {
pos++;
+ }
}
decoder->current_pos = pos;