Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
4909d939
Commit
4909d939
authored
Nov 05, 2008
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix sscanf overflow
Pointed-out-by:
Tobias Klein
<
tk@trapkit.de
>
parent
95491aa7
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
3 deletions
+3
-3
modules/demux/subtitle.c
modules/demux/subtitle.c
+3
-3
No files found.
modules/demux/subtitle.c
View file @
4909d939
...
@@ -1846,7 +1846,6 @@ static int ParseRealText( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
...
@@ -1846,7 +1846,6 @@ static int ParseRealText( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
demux_sys_t
*
p_sys
=
p_demux
->
p_sys
;
demux_sys_t
*
p_sys
=
p_demux
->
p_sys
;
text_t
*
txt
=
&
p_sys
->
txt
;
text_t
*
txt
=
&
p_sys
->
txt
;
char
*
psz_text
=
NULL
;
char
*
psz_text
=
NULL
;
char
psz_end
[
12
]
=
""
,
psz_begin
[
12
]
=
""
;
for
(
;;
)
for
(
;;
)
{
{
...
@@ -1867,13 +1866,14 @@ static int ParseRealText( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
...
@@ -1867,13 +1866,14 @@ static int ParseRealText( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
char
*
psz_temp
=
strcasestr
(
s
,
"<time"
);
char
*
psz_temp
=
strcasestr
(
s
,
"<time"
);
if
(
psz_temp
!=
NULL
)
if
(
psz_temp
!=
NULL
)
{
{
char
psz_end
[
12
],
psz_begin
[
12
];
/* Line has begin and end */
/* Line has begin and end */
if
(
(
sscanf
(
psz_temp
,
if
(
(
sscanf
(
psz_temp
,
"<%*[t|T]ime %*[b|B]egin=
\"
%
[^
\"
]
\"
%*[e|E]nd=
\"
%
[^
\"
]%*[^>]%[^
\n\r
]"
,
"<%*[t|T]ime %*[b|B]egin=
\"
%
11[^
\"
]
\"
%*[e|E]nd=
\"
%11
[^
\"
]%*[^>]%[^
\n\r
]"
,
psz_begin
,
psz_end
,
psz_text
)
!=
3
)
&&
psz_begin
,
psz_end
,
psz_text
)
!=
3
)
&&
/* Line has begin and no end */
/* Line has begin and no end */
(
sscanf
(
psz_temp
,
(
sscanf
(
psz_temp
,
"<%*[t|T]ime %*[b|B]egin=
\"
%[^
\"
]
\"
%*[^>]%[^
\n\r
]"
,
"<%*[t|T]ime %*[b|B]egin=
\"
%
11
[^
\"
]
\"
%*[^>]%[^
\n\r
]"
,
psz_begin
,
psz_text
)
!=
2
)
)
psz_begin
,
psz_text
)
!=
2
)
)
/* Line is not recognized */
/* Line is not recognized */
{
{
...
...
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