Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
a8765852
Commit
a8765852
authored
Feb 01, 2015
by
Hugo Beauzée-Luyssen
Committed by
Vittorio Giovara
Feb 17, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
movenc: Check memory allocations
Signed-off-by:
Vittorio Giovara
<
vittorio.giovara@gmail.com
>
parent
da7e31a2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
0 deletions
+12
-0
movenc.c
libavformat/movenc.c
+12
-0
No files found.
libavformat/movenc.c
View file @
a8765852
...
@@ -1167,6 +1167,8 @@ static int mov_write_ctts_tag(AVIOContext *pb, MOVTrack *track)
...
@@ -1167,6 +1167,8 @@ static int mov_write_ctts_tag(AVIOContext *pb, MOVTrack *track)
int
i
;
int
i
;
ctts_entries
=
av_malloc
((
track
->
entry
+
1
)
*
sizeof
(
*
ctts_entries
));
/* worst case */
ctts_entries
=
av_malloc
((
track
->
entry
+
1
)
*
sizeof
(
*
ctts_entries
));
/* worst case */
if
(
!
ctts_entries
)
return
AVERROR
(
ENOMEM
);
ctts_entries
[
0
].
count
=
1
;
ctts_entries
[
0
].
count
=
1
;
ctts_entries
[
0
].
duration
=
track
->
cluster
[
0
].
cts
;
ctts_entries
[
0
].
duration
=
track
->
cluster
[
0
].
cts
;
for
(
i
=
1
;
i
<
track
->
entry
;
i
++
)
{
for
(
i
=
1
;
i
<
track
->
entry
;
i
++
)
{
...
@@ -1202,6 +1204,8 @@ static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track)
...
@@ -1202,6 +1204,8 @@ static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track)
if
(
track
->
enc
->
codec_type
==
AVMEDIA_TYPE_AUDIO
&&
!
track
->
audio_vbr
)
{
if
(
track
->
enc
->
codec_type
==
AVMEDIA_TYPE_AUDIO
&&
!
track
->
audio_vbr
)
{
stts_entries
=
av_malloc
(
sizeof
(
*
stts_entries
));
/* one entry */
stts_entries
=
av_malloc
(
sizeof
(
*
stts_entries
));
/* one entry */
if
(
!
stts_entries
)
return
AVERROR
(
ENOMEM
);
stts_entries
[
0
].
count
=
track
->
sample_count
;
stts_entries
[
0
].
count
=
track
->
sample_count
;
stts_entries
[
0
].
duration
=
1
;
stts_entries
[
0
].
duration
=
1
;
entries
=
1
;
entries
=
1
;
...
@@ -1209,6 +1213,8 @@ static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track)
...
@@ -1209,6 +1213,8 @@ static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track)
stts_entries
=
track
->
entry
?
stts_entries
=
track
->
entry
?
av_malloc
(
track
->
entry
*
sizeof
(
*
stts_entries
))
:
/* worst case */
av_malloc
(
track
->
entry
*
sizeof
(
*
stts_entries
))
:
/* worst case */
NULL
;
NULL
;
if
(
!
stts_entries
)
return
AVERROR
(
ENOMEM
);
for
(
i
=
0
;
i
<
track
->
entry
;
i
++
)
{
for
(
i
=
0
;
i
<
track
->
entry
;
i
++
)
{
int
duration
=
get_cluster_duration
(
track
,
i
);
int
duration
=
get_cluster_duration
(
track
,
i
);
if
(
i
&&
duration
==
stts_entries
[
entries
].
duration
)
{
if
(
i
&&
duration
==
stts_entries
[
entries
].
duration
)
{
...
@@ -3282,6 +3288,10 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
...
@@ -3282,6 +3288,10 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
if
(
trk
->
vos_len
==
0
&&
enc
->
extradata_size
>
0
)
{
if
(
trk
->
vos_len
==
0
&&
enc
->
extradata_size
>
0
)
{
trk
->
vos_len
=
enc
->
extradata_size
;
trk
->
vos_len
=
enc
->
extradata_size
;
trk
->
vos_data
=
av_malloc
(
trk
->
vos_len
);
trk
->
vos_data
=
av_malloc
(
trk
->
vos_len
);
if
(
!
trk
->
vos_data
)
{
ret
=
AVERROR
(
ENOMEM
);
goto
err
;
}
memcpy
(
trk
->
vos_data
,
enc
->
extradata
,
trk
->
vos_len
);
memcpy
(
trk
->
vos_data
,
enc
->
extradata
,
trk
->
vos_len
);
}
}
...
@@ -3829,6 +3839,8 @@ static int mov_write_header(AVFormatContext *s)
...
@@ -3829,6 +3839,8 @@ static int mov_write_header(AVFormatContext *s)
else
{
else
{
track
->
vos_len
=
st
->
codec
->
extradata_size
;
track
->
vos_len
=
st
->
codec
->
extradata_size
;
track
->
vos_data
=
av_malloc
(
track
->
vos_len
);
track
->
vos_data
=
av_malloc
(
track
->
vos_len
);
if
(
!
track
->
vos_data
)
goto
error
;
memcpy
(
track
->
vos_data
,
st
->
codec
->
extradata
,
track
->
vos_len
);
memcpy
(
track
->
vos_data
,
st
->
codec
->
extradata
,
track
->
vos_len
);
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment