vlc/vlc-2.2 | branch: master | Francois Cartegnie <[email protected]> | Fri Feb 19 12:29:41 2016 +0100| [5ba4a08b65e4221f01f577bd105bf50a6868e980] | committer: Jean-Baptiste Kempf
input: stream: fix stack overflow in stream_UrlNew refs #16651 Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=5ba4a08b65e4221f01f577bd105bf50a6868e980 --- src/input/stream.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/input/stream.c b/src/input/stream.c index 4cceaac..13a0a01 100644 --- a/src/input/stream.c +++ b/src/input/stream.c @@ -252,7 +252,10 @@ stream_t *stream_UrlNew( vlc_object_t *p_parent, const char *psz_url ) if( !psz_url ) return NULL; - char psz_dup[strlen( psz_url ) + 1]; + char *psz_dup = malloc(strlen( psz_url ) + 1); + if( !psz_dup ) + return NULL; + strcpy( psz_dup, psz_url ); input_SplitMRL( &psz_access, &psz_demux, &psz_path, &psz_anchor, psz_dup ); @@ -261,9 +264,12 @@ stream_t *stream_UrlNew( vlc_object_t *p_parent, const char *psz_url ) if( p_access == NULL ) { msg_Err( p_parent, "no suitable access module for `%s'", psz_url ); + free( psz_dup ); return NULL; } + free( psz_dup ); + return stream_AccessNew( p_access, NULL ); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
