summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
authorZolnai Tamás <tamas.zolnai@collabora.com>2014-06-13 01:23:42 +0200
committerZolnai Tamás <tamas.zolnai@collabora.com>2014-06-13 01:23:42 +0200
commit91b4288a256239af4f53c2f52c3add66b92392e2 (patch)
tree8c96004a73b2d5634440c935fac39af2d7c76ba9 /avmedia
parent31f386caa16413c7751855d491b4421441bfd758 (diff)
glTF: Avoid segmentation fault when one of the input files can't be loaded
libgltf: Parser releases the glTFHandle, but it was not connected to the corresponding handle by RenderScene::initScene. So when rendering stopped during file loading because of missing file, Parser's handle member was an uninitialized pointer so it crashed by calling release method. (cherry picked from commit 6904c836b203acbe87a85446a0c59bfbed359240) Change-Id: I80099195341766f474143014d5949703d47a6fd8
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/opengl/oglplayer.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/avmedia/source/opengl/oglplayer.cxx b/avmedia/source/opengl/oglplayer.cxx
index b5420e4aee58..eaf9e2d7d920 100644
--- a/avmedia/source/opengl/oglplayer.cxx
+++ b/avmedia/source/opengl/oglplayer.cxx
@@ -35,7 +35,7 @@ OGLPlayer::~OGLPlayer()
osl::MutexGuard aGuard(m_aMutex);
if( m_pHandle )
{
- for (size_t i = 0; i < m_pHandle->size; ++i)
+ for (size_t i = 0; i < m_pHandle->size && m_pHandle->files[i].buffer; ++i)
{
if (m_pHandle->files[i].type != GLTF_JSON)
{