diff options
author | Rick Pasetto <rick@lindenlab.com> | 2010-01-20 14:46:15 -0800 |
---|---|---|
committer | Rick Pasetto <rick@lindenlab.com> | 2010-01-20 14:46:15 -0800 |
commit | 4ff75762d1965457ba5e4e2d952defe81f85d149 (patch) | |
tree | 0bd9a03e45f87695d2b4d8562ba628e10c4cd4fe | |
parent | f009fbcb03e7d4e87d41f60e2873ffcbcb02354b (diff) |
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.
-rw-r--r-- | indra/newview/llvovolume.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index d5dd19e470..295c0c8010 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -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)) { |