summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demux_mov.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index c10330a3f9..34ca6f4f90 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -747,13 +747,15 @@ static int gen_sh_audio(sh_audio_t* sh, mov_track_t* trak, int timescale) {
default:
if (len > 8 && len + 44 <= trak->stdata_len) {
sh->codecdata_len = len-8;
- sh->codecdata = trak->stdata+44+8;
+ sh->codecdata = malloc(sh->codecdata_len);
+ memcpy(sh->codecdata, trak->stdata+44+8, sh->codecdata_len);
}
}
} else {
if (len > 8 && len + 44 <= trak->stdata_len) {
sh->codecdata_len = len-8;
- sh->codecdata = trak->stdata+44+8;
+ sh->codecdata = malloc(sh->codecdata_len);
+ memcpy(sh->codecdata, trak->stdata+44+8, sh->codecdata_len);
}
}
}