Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
c69d0735
Commit
c69d0735
authored
Dec 16, 2002
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* libavi.c: improved parsing of some corrupted files.
parent
75cd9924
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
39 deletions
+51
-39
modules/demux/avi/libavi.c
modules/demux/avi/libavi.c
+51
-39
No files found.
modules/demux/avi/libavi.c
View file @
c69d0735
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* libavi.c :
* libavi.c :
*****************************************************************************
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* Copyright (C) 2001 VideoLAN
* $Id: libavi.c,v 1.
9 2002/12/06 16:34:06 sam
Exp $
* $Id: libavi.c,v 1.
10 2002/12/16 13:04:36 fenrir
Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
*
* This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify
...
@@ -270,7 +270,8 @@ static int AVI_ChunkReadCommon( input_thread_t *p_input,
...
@@ -270,7 +270,8 @@ static int AVI_ChunkReadCommon( input_thread_t *p_input,
p_chk
->
common
.
p_next
=
NULL
;
p_chk
->
common
.
p_next
=
NULL
;
#ifdef AVI_DEBUG
#ifdef AVI_DEBUG
msg_Dbg
(
p_input
,
msg_Dbg
(
p_input
,
"Found Chunk fourcc:%c%c%c%c size:"
I64Fd
" pos:"
I64Fd
,
"Found Chunk fourcc:%8.8x (%c%c%c%c) size:"
I64Fd
" pos:"
I64Fd
,
p_chk
->
common
.
i_chunk_fourcc
,
AVIFOURCC_PRINT
(
p_chk
->
common
.
i_chunk_fourcc
),
AVIFOURCC_PRINT
(
p_chk
->
common
.
i_chunk_fourcc
),
p_chk
->
common
.
i_chunk_size
,
p_chk
->
common
.
i_chunk_size
,
p_chk
->
common
.
i_chunk_pos
);
p_chk
->
common
.
i_chunk_pos
);
...
@@ -356,12 +357,17 @@ static int AVI_ChunkRead_list( input_thread_t *p_input,
...
@@ -356,12 +357,17 @@ static int AVI_ChunkRead_list( input_thread_t *p_input,
}
}
}
}
AVI_SkipBytes
(
p_input
,
12
);
if
(
AVI_SkipBytes
(
p_input
,
12
)
)
{
msg_Err
(
p_input
,
"cannot enter chunk"
);
return
VLC_EGENERIC
;
}
#ifdef AVI_DEBUG
#ifdef AVI_DEBUG
msg_Dbg
(
p_input
,
msg_Dbg
(
p_input
,
"found LIST chunk:
\'
%c%c%c%c
\'
"
,
"found LIST chunk:
\'
%c%c%c%c
\'
"
,
AVIFOURCC_PRINT
(
p_container
->
list
.
i_type
)
);
AVIFOURCC_PRINT
(
p_container
->
list
.
i_type
)
);
#endif
#endif
msg_Dbg
(
p_input
,
"<list
\'
%c%c%c%c
\'
>"
,
AVIFOURCC_PRINT
(
p_container
->
list
.
i_type
)
);
for
(
;
;
)
for
(
;
;
)
{
{
p_chk
=
malloc
(
sizeof
(
avi_chunk_t
)
);
p_chk
=
malloc
(
sizeof
(
avi_chunk_t
)
);
...
@@ -391,6 +397,7 @@ static int AVI_ChunkRead_list( input_thread_t *p_input,
...
@@ -391,6 +397,7 @@ static int AVI_ChunkRead_list( input_thread_t *p_input,
}
}
}
}
msg_Dbg
(
p_input
,
"</list
\'
%c%c%c%c
\'
>"
,
AVIFOURCC_PRINT
(
p_container
->
list
.
i_type
)
);
return
VLC_SUCCESS
;
return
VLC_SUCCESS
;
}
}
...
@@ -799,6 +806,11 @@ int _AVI_ChunkRead( input_thread_t *p_input,
...
@@ -799,6 +806,11 @@ int _AVI_ChunkRead( input_thread_t *p_input,
msg_Warn
(
p_input
,
"cannot read one chunk"
);
msg_Warn
(
p_input
,
"cannot read one chunk"
);
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
if
(
p_chk
->
common
.
i_chunk_fourcc
==
VLC_FOURCC
(
0
,
0
,
0
,
0
)
)
{
msg_Warn
(
p_input
,
"found null fourcc chunk (corrupted file?)"
);
return
VLC_EGENERIC
;
}
p_chk
->
common
.
p_father
=
p_father
;
p_chk
->
common
.
p_father
=
p_father
;
i_index
=
AVI_ChunkFunctionFind
(
p_chk
->
common
.
i_chunk_fourcc
);
i_index
=
AVI_ChunkFunctionFind
(
p_chk
->
common
.
i_chunk_fourcc
);
...
...
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