aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjenkins4kodi <jenkins4kodi@users.noreply.github.com>2015-09-14 08:30:53 +0200
committerjenkins4kodi <jenkins4kodi@users.noreply.github.com>2015-09-14 08:30:53 +0200
commitea6eeea841c2927c2ac839c77b8f98f6372aaa4e (patch)
treebc99d432aa3c442f847d7a90cd2482bf1afa05b1
parent429afb7d150a9f8357cb70763be909b1089bdba1 (diff)
parenta3972d8bf11d944c2fc33c1a72e1abbb5687e8f3 (diff)
Merge pull request #8036 from ace20022/udf_free
-rw-r--r--xbmc/filesystem/udf25.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/xbmc/filesystem/udf25.cpp b/xbmc/filesystem/udf25.cpp
index cf25d56836..7917756b5a 100644
--- a/xbmc/filesystem/udf25.cpp
+++ b/xbmc/filesystem/udf25.cpp
@@ -967,7 +967,23 @@ udf25::udf25( )
udf25::~udf25( )
{
delete m_fp;
- free(m_udfcache);
+
+ struct udf_cache * cache = (struct udf_cache *) m_udfcache;
+
+ if (!cache)
+ return;
+
+ if (cache->lbs)
+ {
+ for (int n = 0; n < cache->lb_num; n++)
+ {
+ free(cache->lbs[n].data_base);
+ }
+ free(cache->lbs);
+ }
+
+ free(cache->maps);
+ free(cache);
}
UDF_FILE udf25::UDFFindFile( const char* filename, uint64_t *filesize )