diff options
author | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-06-13 01:23:42 +0200 |
---|---|---|
committer | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-06-13 01:23:42 +0200 |
commit | 91b4288a256239af4f53c2f52c3add66b92392e2 (patch) | |
tree | 8c96004a73b2d5634440c935fac39af2d7c76ba9 /avmedia | |
parent | 31f386caa16413c7751855d491b4421441bfd758 (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.cxx | 2 |
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) { |