Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
4dbce889
Commit
4dbce889
authored
Mar 02, 2007
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed memory leak with input_ItemClean.
parent
0f3899ce
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
32 deletions
+30
-32
include/vlc_input.h
include/vlc_input.h
+30
-32
No files found.
include/vlc_input.h
View file @
4dbce889
...
...
@@ -97,14 +97,12 @@ struct input_item_t
static
inline
void
input_ItemInit
(
vlc_object_t
*
p_o
,
input_item_t
*
p_i
)
{
memset
(
p_i
,
0
,
sizeof
(
input_item_t
)
);
p_i
->
psz_name
=
0
;
p_i
->
psz_uri
=
0
;
p_i
->
i_es
=
0
;
p_i
->
es
=
0
;
p_i
->
i_options
=
0
;
p_i
->
ppsz_options
=
0
;
p_i
->
i_categories
=
0
;
p_i
->
pp_categories
=
0
;
p_i
->
psz_name
=
NULL
;
p_i
->
psz_uri
=
NULL
;
TAB_INIT
(
p_i
->
i_es
,
p_i
->
es
);
TAB_INIT
(
p_i
->
i_options
,
p_i
->
ppsz_options
);
TAB_INIT
(
p_i
->
i_categories
,
p_i
->
pp_categories
);
p_i
->
i_type
=
ITEM_TYPE_UNKNOWN
;
p_i
->
b_fixed_name
=
VLC_TRUE
;
...
...
@@ -134,6 +132,8 @@ VLC_EXPORT( void, input_ItemAddOptionNoDup,( input_item_t *, const char * ) );
static
inline
void
input_ItemClean
(
input_item_t
*
p_i
)
{
int
i
;
free
(
p_i
->
psz_name
);
free
(
p_i
->
psz_uri
);
if
(
p_i
->
p_stats
)
...
...
@@ -142,46 +142,44 @@ static inline void input_ItemClean( input_item_t *p_i )
free
(
p_i
->
p_stats
);
}
if
(
p_i
->
p_meta
)
vlc_meta_Delete
(
p_i
->
p_meta
);
if
(
p_i
->
p_meta
)
vlc_meta_Delete
(
p_i
->
p_meta
);
while
(
p_i
->
i_options
)
for
(
i
=
0
;
i
<
p_i
->
i_options
;
i
++
)
{
p_i
->
i_options
--
;
if
(
p_i
->
ppsz_options
[
p_i
->
i_options
]
)
free
(
p_i
->
ppsz_options
[
p_i
->
i_options
]
);
if
(
!
p_i
->
i_options
)
free
(
p_i
->
ppsz_options
);
if
(
p_i
->
ppsz_options
[
i
]
)
free
(
p_i
->
ppsz_options
[
i
]
);
}
TAB_CLEAN
(
p_i
->
i_options
,
p_i
->
ppsz_options
);
while
(
p_i
->
i_es
)
for
(
i
=
0
;
i
<
p_i
->
i_es
;
i
++
)
{
p_i
->
i_es
--
;
es_format_Clean
(
p_i
->
es
[
p_i
->
i_es
]
);
if
(
!
p_i
->
i_es
)
free
(
p_i
->
es
);
es_format_Clean
(
p_i
->
es
[
i
]
);
free
(
p_i
->
es
[
i
]
);
}
TAB_CLEAN
(
p_i
->
i_es
,
p_i
->
es
);
while
(
p_i
->
i_categories
)
for
(
i
=
0
;
i
<
p_i
->
i_categories
;
i
++
)
{
info_category_t
*
p_category
=
p_i
->
pp_categories
[
--
(
p_i
->
i_categories
)]
;
info_category_t
*
p_category
=
p_i
->
pp_categories
[
i
];
int
j
;
while
(
p_category
->
i_infos
)
for
(
j
=
0
;
j
<
p_category
->
i_infos
;
j
++
)
{
p_category
->
i_infos
--
;
struct
info_t
*
p_info
=
p_category
->
pp_infos
[
j
]
;
if
(
p_category
->
pp_infos
[
p_category
->
i_infos
]
->
psz_name
)
free
(
p_category
->
pp_infos
[
p_category
->
i_infos
]
->
psz_name
);
if
(
p_category
->
pp_infos
[
p_category
->
i_infos
]
->
psz_value
)
free
(
p_category
->
pp_infos
[
p_category
->
i_infos
]
->
psz_value
);
free
(
p_category
->
pp_infos
[
p_category
->
i_infos
]
);
if
(
!
p_category
->
i_infos
)
free
(
p_category
->
pp_infos
);
if
(
p_info
->
psz_name
)
free
(
p_info
->
psz_name
);
if
(
p_info
->
psz_value
)
free
(
p_info
->
psz_value
);
free
(
p_info
);
}
TAB_CLEAN
(
p_category
->
i_infos
,
p_category
->
pp_infos
);
if
(
p_category
->
psz_name
)
free
(
p_category
->
psz_name
);
free
(
p_category
);
if
(
!
p_i
->
i_categories
)
free
(
p_i
->
pp_categories
);
}
TAB_CLEAN
(
p_i
->
i_categories
,
p_i
->
pp_categories
);
vlc_mutex_destroy
(
&
p_i
->
lock
);
}
...
...
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