Skip to content
Permalink
Browse files Browse the repository at this point in the history
fixed #1733
  • Loading branch information
jeanlf committed Apr 8, 2021
1 parent 05f453e commit 758135e
Showing 1 changed file with 30 additions and 5 deletions.
35 changes: 30 additions & 5 deletions src/isomedia/box_code_adobe.c
Expand Up @@ -79,6 +79,7 @@ GF_Err abst_box_read(GF_Box *s, GF_BitStream *bs)
int i;
u32 tmp_strsize;
char *tmp_str;
Bool zfound=GF_FALSE;
GF_Err e;

ISOM_DECREASE_SIZE(ptr, 25)
Expand All @@ -102,10 +103,14 @@ GF_Err abst_box_read(GF_Box *s, GF_BitStream *bs)
ISOM_DECREASE_SIZE(ptr, 1)
tmp_str[i] = gf_bs_read_u8(bs);
tmp_strsize--;
if (!tmp_str[i])
if (!tmp_str[i]) {
zfound = GF_TRUE;
break;
}
i++;
}
if (!zfound)
return GF_ISOM_INVALID_FILE;
if (i) {
ptr->movie_identifier = gf_strdup(tmp_str);
}
Expand All @@ -114,15 +119,20 @@ GF_Err abst_box_read(GF_Box *s, GF_BitStream *bs)
ptr->server_entry_count = gf_bs_read_u8(bs);
for (i=0; i<ptr->server_entry_count; i++) {
int j=0;
zfound = GF_FALSE;
tmp_strsize=(u32)ptr->size;
while (tmp_strsize) {
ISOM_DECREASE_SIZE(ptr, 1)
tmp_str[j] = gf_bs_read_u8(bs);
tmp_strsize--;
if (!tmp_str[j])
if (!tmp_str[j]) {
zfound = GF_TRUE;
break;
}
j++;
}
if (!zfound)
return GF_ISOM_INVALID_FILE;
if (j) {
gf_list_insert(ptr->server_entry_table, gf_strdup(tmp_str), i);
}
Expand All @@ -132,45 +142,60 @@ GF_Err abst_box_read(GF_Box *s, GF_BitStream *bs)
ptr->quality_entry_count = gf_bs_read_u8(bs);
for (i=0; i<ptr->quality_entry_count; i++) {
int j=0;
zfound = GF_FALSE;
tmp_strsize=(u32)ptr->size;
while (tmp_strsize) {
ISOM_DECREASE_SIZE(ptr, 1)
tmp_str[j] = gf_bs_read_u8(bs);
tmp_strsize--;
if (!tmp_str[j])
if (!tmp_str[j]) {
zfound = GF_TRUE;
break;
}
j++;
}

if (!zfound)
return GF_ISOM_INVALID_FILE;
if (j) {
gf_list_insert(ptr->quality_entry_table, gf_strdup(tmp_str), i);
}
}

i=0;
tmp_strsize=(u32)ptr->size;
zfound = GF_FALSE;
while (tmp_strsize) {
ISOM_DECREASE_SIZE(ptr, 1)
tmp_str[i] = gf_bs_read_u8(bs);
tmp_strsize--;
if (!tmp_str[i])
if (!tmp_str[i]) {
zfound = GF_TRUE;
break;
}
i++;
}
if (!zfound)
return GF_ISOM_INVALID_FILE;
if (i) {
ptr->drm_data = gf_strdup(tmp_str);
}

i=0;
tmp_strsize=(u32)ptr->size;
zfound = GF_FALSE;
while (tmp_strsize) {
ISOM_DECREASE_SIZE(ptr, 1)
tmp_str[i] = gf_bs_read_u8(bs);
tmp_strsize--;
if (!tmp_str[i])
if (!tmp_str[i]) {
zfound = GF_TRUE;
break;
}
i++;
}
if (!zfound)
return GF_ISOM_INVALID_FILE;
if (i) {
ptr->meta_data = gf_strdup(tmp_str);
}
Expand Down

0 comments on commit 758135e

Please sign in to comment.