[vlc-devel] [PATCH] hds: Base URL should not include a possible query
Antti Ajanki
antti.ajanki at iki.fi
Wed Jul 30 17:47:49 CEST 2014
---
modules/stream_filter/hds/hds.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/modules/stream_filter/hds/hds.c b/modules/stream_filter/hds/hds.c
index ae75994..3e39535 100644
--- a/modules/stream_filter/hds/hds.c
+++ b/modules/stream_filter/hds/hds.c
@@ -24,6 +24,8 @@
# include "config.h"
#endif
+#include <limits.h> /* INT_MAX */
+
#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_stream.h>
@@ -1411,17 +1413,19 @@ static int Open( vlc_object_t *p_this )
if( unlikely( p_sys == NULL ) )
return VLC_ENOMEM;
- char *uri = NULL;
- if( unlikely( asprintf( &uri, "%s://%s", s->psz_access, s->psz_path ) < 0 ) )
+ char *uri_without_query = NULL;
+ size_t pathlen = strcspn( s->psz_path, "?" );
+ if( unlikely( ( pathlen > INT_MAX ) ||
+ ( asprintf( &uri_without_query, "%s://%.*s", s->psz_access, (int)pathlen, s->psz_path ) < 0 ) ) )
{
free( p_sys );
return VLC_ENOMEM;
}
/* remove the last part of the url */
- char *pos = strrchr( uri, '/');
+ char *pos = strrchr( uri_without_query, '/');
*pos = '\0';
- p_sys->base_url = uri;
+ p_sys->base_url = uri_without_query;
p_sys->flv_header_bytes_sent = 0;
--
1.7.10.4
More information about the vlc-devel
mailing list