Commit 1fd8528c authored by Andreas Rheinhardt's avatar Andreas Rheinhardt

avformat/matroskadec: Beautify matroska_parse_laces()

Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
parent 2a3bbc00
...@@ -3049,31 +3049,26 @@ static int matroska_parse_laces(MatroskaDemuxContext *matroska, uint8_t **buf, ...@@ -3049,31 +3049,26 @@ static int matroska_parse_laces(MatroskaDemuxContext *matroska, uint8_t **buf,
for (n = 0; n < *laces - 1; n++) { for (n = 0; n < *laces - 1; n++) {
lace_size[n] = 0; lace_size[n] = 0;
while (1) { do {
if (size <= total) { if (size <= total)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
}
temp = *data; temp = *data;
total += temp; total += temp;
lace_size[n] += temp; lace_size[n] += temp;
data += 1; data += 1;
size -= 1; size -= 1;
if (temp != 0xff) } while (temp == 0xff);
break;
}
} }
if (size < total) { if (size < total)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
}
lace_size[n] = size - total; lace_size[n] = size - total;
break; break;
} }
case 0x2: /* fixed-size lacing */ case 0x2: /* fixed-size lacing */
if (size % (*laces)) { if (size % (*laces))
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
}
for (n = 0; n < *laces; n++) for (n = 0; n < *laces; n++)
lace_size[n] = size / *laces; lace_size[n] = size / *laces;
break; break;
...@@ -3109,9 +3104,9 @@ static int matroska_parse_laces(MatroskaDemuxContext *matroska, uint8_t **buf, ...@@ -3109,9 +3104,9 @@ static int matroska_parse_laces(MatroskaDemuxContext *matroska, uint8_t **buf,
} }
data += offset; data += offset;
size -= offset; size -= offset;
if (size < total) { if (size < total)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
}
lace_size[*laces - 1] = size - total; lace_size[*laces - 1] = size - total;
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment