Mercurial > libavformat.hg
changeset 3672:e630d4110478 libavformat
matroskadec: Use string instead of char table as probe data comparison source.
author | aurel |
---|---|
date | Tue, 05 Aug 2008 00:42:02 +0000 |
parents | cdd58525b41c |
children | b0188029f916 |
files | matroskadec.c |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/matroskadec.c Tue Aug 05 00:41:59 2008 +0000 +++ b/matroskadec.c Tue Aug 05 00:42:02 2008 +0000 @@ -855,7 +855,7 @@ { uint64_t total = 0; int len_mask = 0x80, size = 1, n = 1; - uint8_t probe_data[] = { 'm', 'a', 't', 'r', 'o', 's', 'k', 'a' }; + char probe_data[] = "matroska"; /* ebml header? */ if (AV_RB32(p->buf) != EBML_ID_HEADER) @@ -881,8 +881,8 @@ * we don't parse the whole header but simply check for the * availability of that array of characters inside the header. * Not fully fool-proof, but good enough. */ - for (n = 4 + size; n <= 4 + size + total - sizeof(probe_data); n++) - if (!memcmp (&p->buf[n], probe_data, sizeof(probe_data))) + for (n = 4+size; n <= 4+size+total-(sizeof(probe_data)-1); n++) + if (!memcmp(p->buf+n, probe_data, sizeof(probe_data)-1)) return AVPROBE_SCORE_MAX; return 0;