vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Aug 18 
21:06:04 2014 +0300| [5dae442d8112968fc6ecb54b140d547f09ec05cd] | committer: 
Rémi Denis-Courmont

speek: fix potential NULL dereference

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5dae442d8112968fc6ecb54b140d547f09ec05cd
---

 modules/codec/speex.c |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/modules/codec/speex.c b/modules/codec/speex.c
index cbfb84a..c93fbc6 100644
--- a/modules/codec/speex.c
+++ b/modules/codec/speex.c
@@ -335,11 +335,13 @@ static block_t *DecodeBlock( decoder_t *p_dec, block_t 
**pp_block )
 
     if( !pp_block ) return NULL;
 
-    if( *pp_block )
+    block_t *block = *pp_block;
+
+    if( block != NULL )
     {
         /* Block to Ogg packet */
-        oggpacket.packet = (*pp_block)->p_buffer;
-        oggpacket.bytes = (*pp_block)->i_buffer;
+        oggpacket.packet = block->p_buffer;
+        oggpacket.bytes = block->i_buffer;
     }
     else
     {
@@ -364,13 +366,15 @@ static block_t *DecodeBlock( decoder_t *p_dec, block_t 
**pp_block )
 
             if( CreateDefaultHeader( p_dec ) )
             {
-                block_Release( *pp_block );
+                if( block != NULL )
+                    block_Release( block );
                 return NULL;
             }
         }
         else if( ProcessHeaders( p_dec ) )
         {
-            block_Release( *pp_block );
+            if( block != NULL )
+                block_Release( block );
             return NULL;
         }
         p_sys->b_has_headers = true;

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to