From df42f949c8bd05b81d94633767514fff88f52062 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Tue, 21 Dec 2010 14:36:19 -0800 Subject: Better handling of forming absolute https URLs, runtime error on https:// access. Change-Id: I7f6275520b0bd070e645024dd151a8541b8787b2 --- media/libstagefright/httplive/LiveSession.cpp | 4 ++-- media/libstagefright/httplive/M3UParser.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'media/libstagefright') diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp index cc7189c..5c4c5df 100644 --- a/media/libstagefright/httplive/LiveSession.cpp +++ b/media/libstagefright/httplive/LiveSession.cpp @@ -179,9 +179,9 @@ status_t LiveSession::fetchFile(const char *url, sp *out) { if (!strncasecmp(url, "file://", 7)) { source = new FileSource(url + 7); + } else if (strncasecmp(url, "http://", 7)) { + return ERROR_UNSUPPORTED; } else { - CHECK(!strncasecmp(url, "http://", 7)); - status_t err = mHTTPDataSource->connect(url); if (err != OK) { diff --git a/media/libstagefright/httplive/M3UParser.cpp b/media/libstagefright/httplive/M3UParser.cpp index 38a7cc5..95f6741 100644 --- a/media/libstagefright/httplive/M3UParser.cpp +++ b/media/libstagefright/httplive/M3UParser.cpp @@ -84,12 +84,13 @@ static bool MakeURL(const char *baseURL, const char *url, AString *out) { out->clear(); if (strncasecmp("http://", baseURL, 7) + && strncasecmp("https://", baseURL, 8) && strncasecmp("file://", baseURL, 7)) { // Base URL must be absolute return false; } - if (!strncasecmp("http://", url, 7)) { + if (!strncasecmp("http://", url, 7) || !strncasecmp("https://", url, 8)) { // "url" is already an absolute URL, ignore base URL. out->setTo(url); -- cgit v1.1