vlc/vlc-2.0 | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Mon Mar 12 16:22:10 2012 +0100| [898c4c30482ed9616fcca3ae612aa88d420f4e1f] | committer: Jean-Baptiste Kempf
hls: Fix parse_SegmentInformation error checking. (cherry picked from commit fc50e57ad33d9ede13e435267e9dda3d30501711) Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.0.git/?a=commit;h=898c4c30482ed9616fcca3ae612aa88d420f4e1f --- modules/stream_filter/httplive.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/stream_filter/httplive.c b/modules/stream_filter/httplive.c index 76c5c14..089b6ea 100644 --- a/modules/stream_filter/httplive.c +++ b/modules/stream_filter/httplive.c @@ -35,6 +35,7 @@ #include <vlc_plugin.h> #include <assert.h> +#include <errno.h> #include <gcrypt.h> #include <vlc_threads.h> @@ -577,8 +578,9 @@ static int parse_SegmentInformation(hls_stream_t *hls, char *p_read, int *durati char *endptr; if (hls->version < 3) { + errno = 0; value = strtol(token, &endptr, 10); - if (token == endptr) + if (token == endptr || errno == ERANGE ) { *duration = -1; return VLC_EGENERIC; @@ -587,8 +589,9 @@ static int parse_SegmentInformation(hls_stream_t *hls, char *p_read, int *durati } else { + errno = 0; double d = strtof(token, &endptr); - if (token == endptr) + if (token == endptr || errno == ERANGE ) { *duration = -1; return VLC_EGENERIC; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
