diff --git a/src/isomedia/box_code_base.c b/src/isomedia/box_code_base.c index 3cf6b3bd38..b7ee3e356e 100644 --- a/src/isomedia/box_code_base.c +++ b/src/isomedia/box_code_base.c @@ -12886,11 +12886,12 @@ GF_Err xtra_box_read(GF_Box *s, GF_BitStream *bs) prop_type = gf_bs_read_u16(bs); prop_size -= 6; ISOM_DECREASE_SIZE_NO_ERR(ptr, prop_size) - //add 2 extra bytes for UTF16 case string dump - data2 = gf_malloc(sizeof(char) * (prop_size+2)); + //add 3 extra bytes for UTF16 case string dump (3 because we need 0-aligned short value) + data2 = gf_malloc(sizeof(char) * (prop_size+3)); gf_bs_read_data(bs, data2, prop_size); data2[prop_size] = 0; data2[prop_size+1] = 0; + data2[prop_size+2] = 0; tag_size-=prop_size; } else { prop_size = 0;