[vlc-devel] commit: Fix a segfault : check the return value of x264_encoder_open(). ( Adrien Maglo )

git version control git at videolan.org
Sat May 30 00:32:49 CEST 2009


vlc | branch: master | Adrien Maglo <magsoft at videolan.org> | Thu May 28 20:05:23 2009 +0200| [7cf05804b833ed11b60779663d7293adceb4107d] | committer: Jean-Baptiste Kempf 

Fix a segfault : check the return value of x264_encoder_open().

According to x264 code, if it fails, it return NULL.
And with a first NULL parameter x264_encoder_headers() segfaults.

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
(cherry picked from commit 77dea4efed8f1ce11edf551ac33b53ead9fb16a8)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

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

 modules/codec/x264.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/modules/codec/x264.c b/modules/codec/x264.c
index 93df88d..25c4143 100644
--- a/modules/codec/x264.c
+++ b/modules/codec/x264.c
@@ -1303,6 +1303,12 @@ static int  Open ( vlc_object_t *p_this )
     /* Open the encoder */
     p_sys->h = x264_encoder_open( &p_sys->param );
 
+    if( p_sys->h == NULL )
+    {
+        msg_Err( p_enc, "cannot open x264 encoder" );
+        return VLC_EGENERIC;
+    }
+
     /* alloc mem */
     p_sys->i_buffer = 4 * p_enc->fmt_in.video.i_width *
         p_enc->fmt_in.video.i_height + 1000;




More information about the vlc-devel mailing list