FIX EXT-4052: Make sure bounceback url has a scheme

Review #83
The function LLMediaEntry::checkCandidateURL() assumes the URL passed
in at least has a scheme part (i.e. a ":"). This fixes the bounceBack
code to assure that.
meow-7.2.2
Rick Pasetto 2010-01-20 14:46:15 -08:00
parent f009fbcb03
commit 4ff75762d1
1 changed files with 10 additions and 0 deletions

View File

@ -1852,12 +1852,22 @@ void LLVOVolume::mediaNavigateBounceBack(U8 texture_index)
if (mep && impl)
{
std::string url = mep->getCurrentURL();
// Look for a ":", if not there, assume "http://"
if (!url.empty() && std::string::npos == url.find(':'))
{
url = "http://" + url;
}
// If the url we're trying to "bounce back" to is either empty or not
// allowed by the whitelist, try the home url. If *that* doesn't work,
// set the media as failed and unload it
if (url.empty() || !mep->checkCandidateUrl(url))
{
url = mep->getHomeURL();
// Look for a ":", if not there, assume "http://"
if (!url.empty() && std::string::npos == url.find(':'))
{
url = "http://" + url;
}
}
if (url.empty() || !mep->checkCandidateUrl(url))
{