[vlc-commits] stream_filter: smooth: fix write overflow

Francois Cartegnie git at videolan.org
Sun Nov 9 20:26:57 CET 2014


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Sun Nov  9 19:59:05 2014 +0100| [04b5c18015781108cd39d5617751afce5e5dcfdf] | committer: Francois Cartegnie

stream_filter: smooth: fix write overflow

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

 modules/stream_filter/smooth/downloader.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/stream_filter/smooth/downloader.c b/modules/stream_filter/smooth/downloader.c
index 56bb64b..2a30b0c 100644
--- a/modules/stream_filter/smooth/downloader.c
+++ b/modules/stream_filter/smooth/downloader.c
@@ -416,8 +416,9 @@ static int build_smoo_box( stream_t *s, uint8_t *smoo_box )
             if( !qlvl->CodecPrivateData )
                 continue;
             stra_box[98] = stra_box[99] = stra_box[100] = 0; /* reserved */
-            assert( strlen( qlvl->CodecPrivateData ) < 512 );
             stra_box[101] = strlen( qlvl->CodecPrivateData ) / 2;
+            if ( stra_box[101] > STRA_SIZE - 102 )
+                stra_box[101] = STRA_SIZE - 102;
             uint8_t *binary_cpd = decode_string_hex_to_binary( qlvl->CodecPrivateData );
             memcpy( stra_box + 102, binary_cpd, stra_box[101] );
             free( binary_cpd );



More information about the vlc-commits mailing list