Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
medialibrary
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
56
Issues
56
List
Boards
Labels
Service Desk
Milestones
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
VideoLAN
medialibrary
Commits
6ea36b0a
Commit
6ea36b0a
authored
Jul 26, 2018
by
Hugo Beauzée-Luyssen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sqlite: Fix column extraction boundaries checks
parent
5953288f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
4 deletions
+4
-4
src/database/SqliteTools.h
src/database/SqliteTools.h
+4
-4
No files found.
src/database/SqliteTools.h
View file @
6ea36b0a
...
@@ -68,7 +68,7 @@ public:
...
@@ -68,7 +68,7 @@ public:
template
<
typename
T
>
template
<
typename
T
>
T
extract
()
T
extract
()
{
{
if
(
m_idx
+
1
>
m_nbColumns
)
if
(
m_idx
>=
m_nbColumns
)
throw
errors
::
ColumnOutOfRange
(
m_idx
,
m_nbColumns
);
throw
errors
::
ColumnOutOfRange
(
m_idx
,
m_nbColumns
);
auto
t
=
sqlite
::
Traits
<
T
>::
Load
(
m_stmt
,
m_idx
);
auto
t
=
sqlite
::
Traits
<
T
>::
Load
(
m_stmt
,
m_idx
);
m_idx
++
;
m_idx
++
;
...
@@ -83,7 +83,7 @@ public:
...
@@ -83,7 +83,7 @@ public:
{
{
// Do not use extract as T might not be Copyable. Traits class however
// Do not use extract as T might not be Copyable. Traits class however
// always return a type that can be use to construct a T
// always return a type that can be use to construct a T
if
(
m_idx
+
1
>
m_nbColumns
)
if
(
m_idx
>=
m_nbColumns
)
throw
errors
::
ColumnOutOfRange
(
m_idx
,
m_nbColumns
);
throw
errors
::
ColumnOutOfRange
(
m_idx
,
m_nbColumns
);
t
=
sqlite
::
Traits
<
T
>::
Load
(
m_stmt
,
m_idx
);
t
=
sqlite
::
Traits
<
T
>::
Load
(
m_stmt
,
m_idx
);
m_idx
++
;
m_idx
++
;
...
@@ -97,7 +97,7 @@ public:
...
@@ -97,7 +97,7 @@ public:
void
advanceToColumn
(
unsigned
int
idx
)
void
advanceToColumn
(
unsigned
int
idx
)
{
{
if
(
idx
+
1
>
m_nbColumns
)
if
(
idx
>=
m_nbColumns
)
throw
errors
::
ColumnOutOfRange
(
idx
,
m_nbColumns
);
throw
errors
::
ColumnOutOfRange
(
idx
,
m_nbColumns
);
m_idx
=
idx
;
m_idx
=
idx
;
}
}
...
@@ -108,7 +108,7 @@ public:
...
@@ -108,7 +108,7 @@ public:
template
<
typename
T
>
template
<
typename
T
>
T
load
(
unsigned
int
idx
)
const
T
load
(
unsigned
int
idx
)
const
{
{
if
(
m_idx
+
1
>
m_nbColumns
)
if
(
idx
>=
m_nbColumns
)
throw
errors
::
ColumnOutOfRange
(
m_idx
,
m_nbColumns
);
throw
errors
::
ColumnOutOfRange
(
m_idx
,
m_nbColumns
);
return
sqlite
::
Traits
<
T
>::
Load
(
m_stmt
,
idx
);
return
sqlite
::
Traits
<
T
>::
Load
(
m_stmt
,
idx
);
}
}
...
...
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